|
75 | 75 | <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#include <iomanip></span></div>
|
76 | 76 | <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include <ctime></span></div>
|
77 | 77 | <div class="line"><a name="l00009"></a><span class="lineno"> 9</span>  </div>
|
78 |
| -<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="keyword">enum</span> codec_type { NO_CODEC, PCM, FLAC, OGG, OPUS };</div> |
79 |
| -<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *TAG=<span class="stringliteral">"COMMON"</span>;</div> |
80 |
| -<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="struct_snap_audio_header.html"> 19</a></span> <span class="keyword">struct </span><a class="code" href="struct_snap_audio_header.html">SnapAudioHeader</a> {</div> |
81 |
| -<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  int32_t sec = 0;</div> |
82 |
| -<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  int32_t usec = 0;</div> |
83 |
| -<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  <span class="keywordtype">size_t</span> size = 0;</div> |
84 |
| -<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  codec_type codec = NO_CODEC;</div> |
85 |
| -<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  </div> |
86 |
| -<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  uint64_t operator-(<a class="code" href="struct_snap_audio_header.html">SnapAudioHeader</a> &h1) {</div> |
87 |
| -<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  <span class="keywordflow">return</span> (sec - h1.sec) * 1000000 + usec - h1.usec;</div> |
88 |
| -<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  }</div> |
89 |
| -<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> };</div> |
90 |
| -<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  </div> |
91 |
| -<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="struct_snap_time_points.html"> 31</a></span> <span class="keyword">struct </span><a class="code" href="struct_snap_time_points.html">SnapTimePoints</a> {</div> |
92 |
| -<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  uint32_t local_ms = millis();</div> |
93 |
| -<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  uint32_t server_ms;</div> |
94 |
| -<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <a class="code" href="struct_snap_time_points.html">SnapTimePoints</a>() = <span class="keywordflow">default</span>;</div> |
95 |
| -<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <a class="code" href="struct_snap_time_points.html">SnapTimePoints</a>(uint32_t serverMs){</div> |
96 |
| -<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  server_ms = serverMs;</div> |
97 |
| -<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  }</div> |
98 |
| -<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> };</div> |
99 |
| -<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  </div> |
100 |
| -<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  </div> |
101 |
| -<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> checkHeap() {</div> |
102 |
| -<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#if CONFIG_CHECK_HEAP && defined(ESP32)</span></div> |
103 |
| -<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  heap_caps_check_integrity_all(<span class="keyword">true</span>);</div> |
104 |
| -<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#endif</span></div> |
105 |
| -<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> }</div> |
106 |
| -<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  </div> |
107 |
| -<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> logHeap() {</div> |
108 |
| -<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#ifdef ESP32</span></div> |
109 |
| -<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  ESP_LOGD(TAG, <span class="stringliteral">"Free Heap: %d / Free Heap PSRAM %d"</span>, ESP.getFreeHeap(),</div> |
110 |
| -<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  ESP.getFreePsram());</div> |
111 |
| -<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#endif</span></div> |
112 |
| -<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> }</div> |
113 |
| -<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  </div> |
114 |
| -<div class="ttc" id="astruct_snap_audio_header_html"><div class="ttname"><a href="struct_snap_audio_header.html">SnapAudioHeader</a></div><div class="ttdoc">Information about the next bucket.</div><div class="ttdef"><b>Definition:</b> SnapCommon.h:19</div></div> |
115 |
| -<div class="ttc" id="astruct_snap_time_points_html"><div class="ttname"><a href="struct_snap_time_points.html">SnapTimePoints</a></div><div class="ttdoc">Recording of local_ms and server_ms.</div><div class="ttdef"><b>Definition:</b> SnapCommon.h:31</div></div> |
| 78 | +<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="namespacesnap__arduino.html"> 10</a></span> <span class="keyword">namespace </span><a class="code" href="namespacesnap__arduino.html">snap_arduino</a> {</div> |
| 79 | +<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  </div> |
| 80 | +<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="keyword">enum</span> codec_type { NO_CODEC, PCM, FLAC, OGG, OPUS };</div> |
| 81 | +<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *TAG=<span class="stringliteral">"COMMON"</span>;</div> |
| 82 | +<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="structsnap__arduino_1_1_snap_audio_header.html"> 21</a></span> <span class="keyword">struct </span><a class="code" href="structsnap__arduino_1_1_snap_audio_header.html">SnapAudioHeader</a> {</div> |
| 83 | +<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  int32_t sec = 0;</div> |
| 84 | +<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  int32_t usec = 0;</div> |
| 85 | +<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  <span class="keywordtype">size_t</span> size = 0;</div> |
| 86 | +<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  codec_type codec = NO_CODEC;</div> |
| 87 | +<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  </div> |
| 88 | +<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  uint64_t operator-(<a class="code" href="structsnap__arduino_1_1_snap_audio_header.html">SnapAudioHeader</a> &h1) {</div> |
| 89 | +<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  <span class="keywordflow">return</span> (sec - h1.sec) * 1000000 + usec - h1.usec;</div> |
| 90 | +<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  }</div> |
| 91 | +<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> };</div> |
| 92 | +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  </div> |
| 93 | +<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="structsnap__arduino_1_1_snap_time_points.html"> 33</a></span> <span class="keyword">struct </span><a class="code" href="structsnap__arduino_1_1_snap_time_points.html">SnapTimePoints</a> {</div> |
| 94 | +<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  uint32_t local_ms = millis();</div> |
| 95 | +<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  uint32_t server_ms;</div> |
| 96 | +<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <a class="code" href="structsnap__arduino_1_1_snap_time_points.html">SnapTimePoints</a>() = <span class="keywordflow">default</span>;</div> |
| 97 | +<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="structsnap__arduino_1_1_snap_time_points.html">SnapTimePoints</a>(uint32_t serverMs){</div> |
| 98 | +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  server_ms = serverMs;</div> |
| 99 | +<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  }</div> |
| 100 | +<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> };</div> |
| 101 | +<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  </div> |
| 102 | +<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  </div> |
| 103 | +<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> checkHeap() {</div> |
| 104 | +<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#if CONFIG_CHECK_HEAP && defined(ESP32)</span></div> |
| 105 | +<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  heap_caps_check_integrity_all(<span class="keyword">true</span>);</div> |
| 106 | +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#endif</span></div> |
| 107 | +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> }</div> |
| 108 | +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  </div> |
| 109 | +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> logHeap() {</div> |
| 110 | +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#ifdef ESP32</span></div> |
| 111 | +<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  ESP_LOGD(TAG, <span class="stringliteral">"Free Heap: %d / Free Heap PSRAM %d"</span>, ESP.getFreeHeap(),</div> |
| 112 | +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  ESP.getFreePsram());</div> |
| 113 | +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#endif</span></div> |
| 114 | +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> }</div> |
| 115 | +<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  </div> |
| 116 | +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> }</div> |
| 117 | +<div class="ttc" id="anamespacesnap__arduino_html"><div class="ttname"><a href="namespacesnap__arduino.html">snap_arduino</a></div><div class="ttdef"><b>Definition:</b> SnapCommon.h:10</div></div> |
| 118 | +<div class="ttc" id="astructsnap__arduino_1_1_snap_audio_header_html"><div class="ttname"><a href="structsnap__arduino_1_1_snap_audio_header.html">snap_arduino::SnapAudioHeader</a></div><div class="ttdoc">Information about the next bucket.</div><div class="ttdef"><b>Definition:</b> SnapCommon.h:21</div></div> |
| 119 | +<div class="ttc" id="astructsnap__arduino_1_1_snap_time_points_html"><div class="ttname"><a href="structsnap__arduino_1_1_snap_time_points.html">snap_arduino::SnapTimePoints</a></div><div class="ttdoc">Recording of local_ms and server_ms.</div><div class="ttdef"><b>Definition:</b> SnapCommon.h:33</div></div> |
116 | 120 | </div><!-- fragment --></div><!-- contents -->
|
117 | 121 | <!-- start footer part -->
|
118 | 122 | <hr class="footer"/><address class="footer"><small>
|
|
0 commit comments