Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / native_client_sdk / doc_generated / pepper_dev / cpp / classpp_1_1_media_stream_audio_track.html
1 {{+bindTo:partials.standard_nacl_article}}
2 <h1>pp::MediaStreamAudioTrack Class Reference</h1>
3 <div id="doxygen-ref">
4 {{- dummy div to appease doxygen -}}
5   <div>
6 <!-- Generated by Doxygen 1.7.6.1 -->
7
8
9
10 </div>
11 <!--header-->
12 <div class="contents">
13 <!-- doxytag: class="pp::MediaStreamAudioTrack" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader">
14 Inheritance diagram for pp::MediaStreamAudioTrack:</div>
15 <div class="dyncontent">
16 <div class="center"><img src="classpp_1_1_media_stream_audio_track__inherit__graph.png" border="0" usemap="#pp_1_1_media_stream_audio_track_inherit__map" alt="Inheritance graph" /></div>
17 <map name="pp_1_1_media_stream_audio_track_inherit__map" id="pp_1_1_media_stream_audio_track_inherit__map">
18 <area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="53,5,157,35"></area></map>
19 <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
20 <p><a href="classpp_1_1_media_stream_audio_track-members.html">List of all members.</a></p>
21 <h2>
22 Public Member Functions</h2><table class="memberdecls">
23
24 <tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#aba4674796b58027523c3429e6e6c977f">MediaStreamAudioTrack</a> ()</td></tr>
25 <tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#adc7d45a01c7f7e27a94a033e957e0587">MediaStreamAudioTrack</a> (const <a class="el" href="classpp_1_1_media_stream_audio_track.html">MediaStreamAudioTrack</a> &amp;other)</td></tr>
26 <tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#a5b0e9a5ede7bb5e265007b9e2b7c06f9">MediaStreamAudioTrack</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &amp;resource)</td></tr>
27 <tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#ad0f8599de42327cda5850db05b1b5be6">MediaStreamAudioTrack</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr>
28 <tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#a4efdf0aeb1ec01ff29c16c94174bc1f8">~MediaStreamAudioTrack</a> ()</td></tr>
29 <tr><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#ad3572da8199315fc90248f5634358211">Configure</a> (const int32_t attributes[], const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &amp;callback)</td></tr>
30 <tr><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#ac1767869e698082610ee3f9cb5a28561">GetAttrib</a> (PP_MediaStreamAudioTrack_Attrib attrib, int32_t *value)</td></tr>
31 <tr><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#ac04877194c84ddbb004265e476275a46">GetId</a> () const </td></tr>
32 <tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#ae1be4d89810f272b4e43b1ca07a7b0de">HasEnded</a> () const </td></tr>
33 <tr><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#a21cbe2138268adba62b204762aa30e10">GetFrame</a> (const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>&lt; <a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a> &gt; &amp;callback)</td></tr>
34 <tr><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#aa979e01db289d5063b6b7f8ac959345a">RecycleFrame</a> (const <a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a> &amp;frame)</td></tr>
35 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#a2ad0471a5fb098f84ec301d52bca269a">Close</a> ()</td></tr>
36 </table><h2>
37 Static Public Member Functions</h2><table class="memberdecls">
38 <tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_media_stream_audio_track.html#a66b94f4551e3e1db35fc9cdfdb686097">IsMediaStreamAudioTrack</a> (const <a class="el" href="classpp_1_1_resource.html">Resource</a> &amp;resource)</td></tr>
39 </table>
40 <hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
41 <div class="textblock"><p>The <code><a class="el" href="classpp_1_1_media_stream_audio_track.html" title="The MediaStreamAudioTrack class contains methods for receiving audio frames from a MediaStream audio ...">MediaStreamAudioTrack</a></code> class contains methods for receiving audio frames from a MediaStream audio track in the browser. </p>
42 </div><hr /><h2>Constructor &amp; Destructor Documentation</h2>
43 <a class="anchor" id="aba4674796b58027523c3429e6e6c977f"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::MediaStreamAudioTrack" ref="aba4674796b58027523c3429e6e6c977f" args="()" -->
44 <div class="memitem">
45 <div class="memproto">
46 <table class="memname">
47 <tr>
48 <td class="memname"><a class="el" href="classpp_1_1_media_stream_audio_track.html#aba4674796b58027523c3429e6e6c977f">pp::MediaStreamAudioTrack::MediaStreamAudioTrack</a> </td>
49 <td>(</td>
50 <td class="paramname"></td><td>)</td>
51 <td></td>
52 </tr>
53 </table>
54 </div>
55 <div class="memdoc">
56 <p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_media_stream_audio_track.html" title="The MediaStreamAudioTrack class contains methods for receiving audio frames from a MediaStream audio ...">MediaStreamAudioTrack</a></code> object. </p>
57 </div>
58 </div>
59 <a class="anchor" id="adc7d45a01c7f7e27a94a033e957e0587"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::MediaStreamAudioTrack" ref="adc7d45a01c7f7e27a94a033e957e0587" args="(const MediaStreamAudioTrack &amp;other)" -->
60 <div class="memitem">
61 <div class="memproto">
62 <table class="memname">
63 <tr>
64 <td class="memname"><a class="el" href="classpp_1_1_media_stream_audio_track.html#aba4674796b58027523c3429e6e6c977f">pp::MediaStreamAudioTrack::MediaStreamAudioTrack</a> </td>
65 <td>(</td>
66 <td class="paramtype">const <a class="el" href="classpp_1_1_media_stream_audio_track.html">MediaStreamAudioTrack</a> &amp;&#160;</td>
67 <td class="paramname"><em>other</em></td><td>)</td>
68 <td></td>
69 </tr>
70 </table>
71 </div>
72 <div class="memdoc">
73 <p>The copy constructor for <code><a class="el" href="classpp_1_1_media_stream_audio_track.html" title="The MediaStreamAudioTrack class contains methods for receiving audio frames from a MediaStream audio ...">MediaStreamAudioTrack</a></code>. </p>
74 <dl class="params"><dt><b>Parameters:</b></dt><dd>
75 <table class="params">
76 <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to a <code><a class="el" href="classpp_1_1_media_stream_audio_track.html" title="The MediaStreamAudioTrack class contains methods for receiving audio frames from a MediaStream audio ...">MediaStreamAudioTrack</a></code>. </td></tr>
77 </table>
78 </dd>
79 </dl>
80 </div>
81 </div>
82 <a class="anchor" id="a5b0e9a5ede7bb5e265007b9e2b7c06f9"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::MediaStreamAudioTrack" ref="a5b0e9a5ede7bb5e265007b9e2b7c06f9" args="(const Resource &amp;resource)" -->
83 <div class="memitem">
84 <div class="memproto">
85 <table class="memname">
86 <tr>
87 <td class="memname"><a class="el" href="classpp_1_1_media_stream_audio_track.html#aba4674796b58027523c3429e6e6c977f">pp::MediaStreamAudioTrack::MediaStreamAudioTrack</a> </td>
88 <td>(</td>
89 <td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> &amp;&#160;</td>
90 <td class="paramname"><em>resource</em></td><td>)</td>
91 <td><code> [explicit]</code></td>
92 </tr>
93 </table>
94 </div>
95 <div class="memdoc">
96 <p>Constructs a <code><a class="el" href="classpp_1_1_media_stream_audio_track.html" title="The MediaStreamAudioTrack class contains methods for receiving audio frames from a MediaStream audio ...">MediaStreamAudioTrack</a></code> from a <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code>. </p>
97 <dl class="params"><dt><b>Parameters:</b></dt><dd>
98 <table class="params">
99 <tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_MediaStreamAudioTrack</code> resource. </td></tr>
100 </table>
101 </dd>
102 </dl>
103 </div>
104 </div>
105 <a class="anchor" id="ad0f8599de42327cda5850db05b1b5be6"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::MediaStreamAudioTrack" ref="ad0f8599de42327cda5850db05b1b5be6" args="(PassRef, PP_Resource resource)" -->
106 <div class="memitem">
107 <div class="memproto">
108 <table class="memname">
109 <tr>
110 <td class="memname"><a class="el" href="classpp_1_1_media_stream_audio_track.html#aba4674796b58027523c3429e6e6c977f">pp::MediaStreamAudioTrack::MediaStreamAudioTrack</a> </td>
111 <td>(</td>
112 <td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>&#160;</td>
113 <td class="paramname">, </td>
114 </tr>
115 <tr>
116 <td class="paramkey"></td>
117 <td></td>
118 <td class="paramtype">PP_Resource&#160;</td>
119 <td class="paramname"><em>resource</em>&#160;</td>
120 </tr>
121 <tr>
122 <td></td>
123 <td>)</td>
124 <td></td><td></td>
125 </tr>
126 </table>
127 </div>
128 <div class="memdoc">
129 <p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has had 1 ref added for you. </p>
130 <dl class="params"><dt><b>Parameters:</b></dt><dd>
131 <table class="params">
132 <tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_MediaStreamAudioTrack</code> resource. </td></tr>
133 </table>
134 </dd>
135 </dl>
136 </div>
137 </div>
138 <a class="anchor" id="a4efdf0aeb1ec01ff29c16c94174bc1f8"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::~MediaStreamAudioTrack" ref="a4efdf0aeb1ec01ff29c16c94174bc1f8" args="()" -->
139 <div class="memitem">
140 <div class="memproto">
141 <table class="memname">
142 <tr>
143 <td class="memname"><a class="el" href="classpp_1_1_media_stream_audio_track.html#a4efdf0aeb1ec01ff29c16c94174bc1f8">pp::MediaStreamAudioTrack::~MediaStreamAudioTrack</a> </td>
144 <td>(</td>
145 <td class="paramname"></td><td>)</td>
146 <td></td>
147 </tr>
148 </table>
149 </div>
150 <div class="memdoc">
151 </div>
152 </div>
153 <hr /><h2>Member Function Documentation</h2>
154 <a class="anchor" id="a2ad0471a5fb098f84ec301d52bca269a"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::Close" ref="a2ad0471a5fb098f84ec301d52bca269a" args="()" -->
155 <div class="memitem">
156 <div class="memproto">
157 <table class="memname">
158 <tr>
159 <td class="memname">void <a class="el" href="classpp_1_1_media_stream_audio_track.html#a2ad0471a5fb098f84ec301d52bca269a">pp::MediaStreamAudioTrack::Close</a> </td>
160 <td>(</td>
161 <td class="paramname"></td><td>)</td>
162 <td></td>
163 </tr>
164 </table>
165 </div>
166 <div class="memdoc">
167 <p>Closes the MediaStream audio track, and disconnects it from the audio source. </p>
168 <p>After calling <code><a class="el" href="classpp_1_1_media_stream_audio_track.html#a2ad0471a5fb098f84ec301d52bca269a" title="Closes the MediaStream audio track, and disconnects it from the audio source.">Close()</a></code>, no new frames will be received. </p>
169 </div>
170 </div>
171 <a class="anchor" id="ad3572da8199315fc90248f5634358211"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::Configure" ref="ad3572da8199315fc90248f5634358211" args="(const int32_t attributes[], const CompletionCallback &amp;callback)" -->
172 <div class="memitem">
173 <div class="memproto">
174 <table class="memname">
175 <tr>
176 <td class="memname">int32_t <a class="el" href="classpp_1_1_media_stream_audio_track.html#ad3572da8199315fc90248f5634358211">pp::MediaStreamAudioTrack::Configure</a> </td>
177 <td>(</td>
178 <td class="paramtype">const int32_t&#160;</td>
179 <td class="paramname"><em>attributes</em>[], </td>
180 </tr>
181 <tr>
182 <td class="paramkey"></td>
183 <td></td>
184 <td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &amp;&#160;</td>
185 <td class="paramname"><em>callback</em>&#160;</td>
186 </tr>
187 <tr>
188 <td></td>
189 <td>)</td>
190 <td></td><td></td>
191 </tr>
192 </table>
193 </div>
194 <div class="memdoc">
195 <p>Configures underlying frame buffers for incoming frames. </p>
196 <p>If the application doesn't want to drop frames, then the <code>PP_MEDIASTREAMAUDIOTRACK_ATTRIB_BUFFERED_FRAMES</code> should be chosen such that inter-frame processing time variability won't overrun the input buffer. If the buffer is overfilled, then frames will be dropped. The application can detect this by examining the timestamp on returned frames. If <code><a class="el" href="classpp_1_1_media_stream_audio_track.html#ad3572da8199315fc90248f5634358211" title="Configures underlying frame buffers for incoming frames.">Configure()</a></code> is not called, default settings will be used. Example usage from plugin code: </p>
197 <div class="fragment"><pre class="fragment"> int32_t attribs[] = {
198      PP_MEDIASTREAMAUDIOTRACK_ATTRIB_BUFFERED_FRAMES, 4,
199      PP_MEDIASTREAMAUDIOTRACK_ATTRIB_DURATION, 10,
200      PP_MEDIASTREAMAUDIOTRACK_ATTRIB_NONE};
201  track.Configure(attribs, callback);
202 </pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
203 <table class="params">
204 <tr><td class="paramdir">[in]</td><td class="paramname">attrib_list</td><td>A list of attribute name-value pairs in which each attribute is immediately followed by the corresponding desired value. The list is terminated by <code>PP_MEDIASTREAMAUDIOTRACK_AUDIO_NONE</code>. </td></tr>
205 <tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code>PP_CompletionCallback</code> to be called upon completion of <code><a class="el" href="classpp_1_1_media_stream_audio_track.html#ad3572da8199315fc90248f5634358211" title="Configures underlying frame buffers for incoming frames.">Configure()</a></code>.</td></tr>
206 </table>
207 </dd>
208 </dl>
209 <dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a result code from <code>pp_errors.h</code>. </dd></dl>
210 </div>
211 </div>
212 <a class="anchor" id="ac1767869e698082610ee3f9cb5a28561"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::GetAttrib" ref="ac1767869e698082610ee3f9cb5a28561" args="(PP_MediaStreamAudioTrack_Attrib attrib, int32_t *value)" -->
213 <div class="memitem">
214 <div class="memproto">
215 <table class="memname">
216 <tr>
217 <td class="memname">int32_t <a class="el" href="classpp_1_1_media_stream_audio_track.html#ac1767869e698082610ee3f9cb5a28561">pp::MediaStreamAudioTrack::GetAttrib</a> </td>
218 <td>(</td>
219 <td class="paramtype">PP_MediaStreamAudioTrack_Attrib&#160;</td>
220 <td class="paramname"><em>attrib</em>, </td>
221 </tr>
222 <tr>
223 <td class="paramkey"></td>
224 <td></td>
225 <td class="paramtype">int32_t *&#160;</td>
226 <td class="paramname"><em>value</em>&#160;</td>
227 </tr>
228 <tr>
229 <td></td>
230 <td>)</td>
231 <td></td><td></td>
232 </tr>
233 </table>
234 </div>
235 <div class="memdoc">
236 <p>Gets attribute value for a given attribute name. </p>
237 <dl class="params"><dt><b>Parameters:</b></dt><dd>
238 <table class="params">
239 <tr><td class="paramdir">[in]</td><td class="paramname">attrib</td><td>A <code>PP_MediaStreamAudioTrack_Attrib</code> for querying. </td></tr>
240 <tr><td class="paramdir">[out]</td><td class="paramname">value</td><td>A int32_t for storing the attribute value.</td></tr>
241 </table>
242 </dd>
243 </dl>
244 <dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a result code from <code>pp_errors.h</code>. </dd></dl>
245 </div>
246 </div>
247 <a class="anchor" id="a21cbe2138268adba62b204762aa30e10"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::GetFrame" ref="a21cbe2138268adba62b204762aa30e10" args="(const CompletionCallbackWithOutput&lt; AudioFrame &gt; &amp;callback)" -->
248 <div class="memitem">
249 <div class="memproto">
250 <table class="memname">
251 <tr>
252 <td class="memname">int32_t <a class="el" href="classpp_1_1_media_stream_audio_track.html#a21cbe2138268adba62b204762aa30e10">pp::MediaStreamAudioTrack::GetFrame</a> </td>
253 <td>(</td>
254 <td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback_with_output.html">CompletionCallbackWithOutput</a>&lt; <a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a> &gt; &amp;&#160;</td>
255 <td class="paramname"><em>callback</em></td><td>)</td>
256 <td></td>
257 </tr>
258 </table>
259 </div>
260 <div class="memdoc">
261 <p>Gets the next audio frame from the MediaStream track. </p>
262 <p>If internal processing is slower than the incoming frame rate, new frames will be dropped from the incoming stream. Once the input buffer is full, frames will be dropped until <code><a class="el" href="classpp_1_1_media_stream_audio_track.html#aa979e01db289d5063b6b7f8ac959345a" title="Recycles a frame returned by GetFrame(), so the track can reuse the underlying buffer of this frame...">RecycleFrame()</a></code> is called to free a spot for another frame to be buffered. If there are no frames in the input buffer, <code>PP_OK_COMPLETIONPENDING</code> will be returned immediately and the <code>callback</code> will be called when a new frame is received or some error happens.</p>
263 <dl class="params"><dt><b>Parameters:</b></dt><dd>
264 <table class="params">
265 <tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>A <code>PP_CompletionCallback</code> to be called upon completion of <code><a class="el" href="classpp_1_1_media_stream_audio_track.html#a21cbe2138268adba62b204762aa30e10" title="Gets the next audio frame from the MediaStream track.">GetFrame()</a></code>. If success, an <a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a> will be passed into the completion callback function.</td></tr>
266 </table>
267 </dd>
268 </dl>
269 <dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a result code from <code>pp_errors.h</code>. Returns PP_ERROR_NOMEMORY if <code>max_buffered_frames</code> frames buffer was not allocated successfully. </dd></dl>
270 </div>
271 </div>
272 <a class="anchor" id="ac04877194c84ddbb004265e476275a46"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::GetId" ref="ac04877194c84ddbb004265e476275a46" args="() const " -->
273 <div class="memitem">
274 <div class="memproto">
275 <table class="memname">
276 <tr>
277 <td class="memname">std::string <a class="el" href="classpp_1_1_media_stream_audio_track.html#ac04877194c84ddbb004265e476275a46">pp::MediaStreamAudioTrack::GetId</a> </td>
278 <td>(</td>
279 <td class="paramname"></td><td>)</td>
280 <td> const</td>
281 </tr>
282 </table>
283 </div>
284 <div class="memdoc">
285 <p>Returns the track ID of the underlying MediaStream audio track. </p>
286 </div>
287 </div>
288 <a class="anchor" id="ae1be4d89810f272b4e43b1ca07a7b0de"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::HasEnded" ref="ae1be4d89810f272b4e43b1ca07a7b0de" args="() const " -->
289 <div class="memitem">
290 <div class="memproto">
291 <table class="memname">
292 <tr>
293 <td class="memname">bool <a class="el" href="classpp_1_1_media_stream_audio_track.html#ae1be4d89810f272b4e43b1ca07a7b0de">pp::MediaStreamAudioTrack::HasEnded</a> </td>
294 <td>(</td>
295 <td class="paramname"></td><td>)</td>
296 <td> const</td>
297 </tr>
298 </table>
299 </div>
300 <div class="memdoc">
301 <p>Checks whether the underlying MediaStream track has ended. </p>
302 <p>Calls to GetFrame while the track has ended are safe to make and will complete, but will fail. </p>
303 </div>
304 </div>
305 <a class="anchor" id="a66b94f4551e3e1db35fc9cdfdb686097"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::IsMediaStreamAudioTrack" ref="a66b94f4551e3e1db35fc9cdfdb686097" args="(const Resource &amp;resource)" -->
306 <div class="memitem">
307 <div class="memproto">
308 <table class="memname">
309 <tr>
310 <td class="memname">static bool <a class="el" href="classpp_1_1_media_stream_audio_track.html#a66b94f4551e3e1db35fc9cdfdb686097">pp::MediaStreamAudioTrack::IsMediaStreamAudioTrack</a> </td>
311 <td>(</td>
312 <td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">Resource</a> &amp;&#160;</td>
313 <td class="paramname"><em>resource</em></td><td>)</td>
314 <td><code> [static]</code></td>
315 </tr>
316 </table>
317 </div>
318 <div class="memdoc">
319 <p>Checks whether a <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> is a MediaStream audio track, to test whether it is appropriate for use with the <code><a class="el" href="classpp_1_1_media_stream_audio_track.html" title="The MediaStreamAudioTrack class contains methods for receiving audio frames from a MediaStream audio ...">MediaStreamAudioTrack</a></code> constructor. </p>
320 <dl class="params"><dt><b>Parameters:</b></dt><dd>
321 <table class="params">
322 <tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">Resource</a></code> to test.</td></tr>
323 </table>
324 </dd>
325 </dl>
326 <dl class="return"><dt><b>Returns:</b></dt><dd>True if <code>resource</code> is a MediaStream audio track. </dd></dl>
327 </div>
328 </div>
329 <a class="anchor" id="aa979e01db289d5063b6b7f8ac959345a"></a><!-- doxytag: member="pp::MediaStreamAudioTrack::RecycleFrame" ref="aa979e01db289d5063b6b7f8ac959345a" args="(const AudioFrame &amp;frame)" -->
330 <div class="memitem">
331 <div class="memproto">
332 <table class="memname">
333 <tr>
334 <td class="memname">int32_t <a class="el" href="classpp_1_1_media_stream_audio_track.html#aa979e01db289d5063b6b7f8ac959345a">pp::MediaStreamAudioTrack::RecycleFrame</a> </td>
335 <td>(</td>
336 <td class="paramtype">const <a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a> &amp;&#160;</td>
337 <td class="paramname"><em>frame</em></td><td>)</td>
338 <td></td>
339 </tr>
340 </table>
341 </div>
342 <div class="memdoc">
343 <p>Recycles a frame returned by <code><a class="el" href="classpp_1_1_media_stream_audio_track.html#a21cbe2138268adba62b204762aa30e10" title="Gets the next audio frame from the MediaStream track.">GetFrame()</a></code>, so the track can reuse the underlying buffer of this frame. </p>
344 <p>And the frame will become invalid. The caller should release all references it holds to <code>frame</code> and not use it anymore.</p>
345 <dl class="params"><dt><b>Parameters:</b></dt><dd>
346 <table class="params">
347 <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>A <a class="el" href="classpp_1_1_audio_frame.html">AudioFrame</a> returned by <code><a class="el" href="classpp_1_1_media_stream_audio_track.html#a21cbe2138268adba62b204762aa30e10" title="Gets the next audio frame from the MediaStream track.">GetFrame()</a></code>.</td></tr>
348 </table>
349 </dd>
350 </dl>
351 <dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a result code from <code>pp_errors.h</code>. </dd></dl>
352 </div>
353 </div>
354 <hr />The documentation for this class was generated from the following file:<ul>
355 <li><a class="el" href="media__stream__audio__track_8h.html">media_stream_audio_track.h</a></li>
356 </ul>
357 </div><!-- contents -->
358 </div>
359 {{/partials.standard_nacl_article}}