Changeset 53
- Timestamp:
- 10/22/02 05:06:35 (6 years ago)
- Location:
- pa_proposals/trunk
- Files:
-
- 4 added
- 2 modified
-
017-MethodForRetrievingActualStreamSampleRate.html (added)
-
018-VersionInformationInterface.html (added)
-
019-NotifyClientWhenAllBuffersHavePlayed.html (added)
-
020-AllowCallbackToPrimeStream.html (added)
-
index.html (modified) (3 diffs)
-
possibilities.html (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
pa_proposals/trunk/index.html
r50 r53 16 16 17 17 <P><A href="http://www.portaudio.com/">PortAudio Home Page</A></P> 18 <P>Updated: October 2 1, 2002 </P>18 <P>Updated: October 22, 2002 </P> 19 19 20 20 <H2>Introduction</H2> … … 36 36 <H2>Open Proposals</H2> 37 37 38 <P>The following table lists the proposals currently under consideration. All of the listed proposals have 39 undergone considerable peer review and are considerd complete. Most have been fully or partially 38 <P>The following table lists the proposals currently under consideration. The majority of the listed proposals have undergone considerable peer review and are considerd complete. Most have been fully or partially 40 39 implemented for at least one platform in the v19-devel CVS branch. Until version 19 is released 41 40 there is a small possibility that the content of these proposals may change in response to … … 177 176 <TD>implemented</TD> 178 177 </TR> 179 178 <TR BGCOLOR="#FFCCFF"> 179 <TD><A HREF="017-MethodForRetrievingActualStreamSampleRate.html">017 - Method for Retrieving Actual Stream Sample Rate</A></TD> 180 <TD>open for discussion</TD> 181 <TD>not implemented</TD> 182 <TD>not implemented</TD> 183 <TD>not implemented</TD> 184 <TD>not implemented</TD> 185 </TR> 186 <TR> 187 <TD><A HREF="018-VersionInformationInterface.html">018 - Version Information Interface</A></TD> 188 <TD>complete</TD> 189 <TD>implemented</TD> 190 <TD>N/A</TD> 191 <TD>N/A</TD> 192 <TD>N/A</TD> 193 </TR> 194 <TR BGCOLOR="#FFCCFF"> 195 <TD><A HREF="019-NotifyClientWhenAllBuffersHavePlayed.html">019 - Notify Client When All Buffers Have Played</A></TD> 196 <TD>open for discussion</TD> 197 <TD>not implemented</TD> 198 <TD>not implemented</TD> 199 <TD>not implemented</TD> 200 <TD>not implemented</TD> 201 </TR> 202 <TR BGCOLOR="#FFCCFF"> 203 <TD><A HREF="020-AllowCallbackToPrimeStream.html">020 - Allow Callback to Prime Stream</A></TD> 204 <TD>open for discussion</TD> 205 <TD>not implemented</TD> 206 <TD>not implemented</TD> 207 <TD>not implemented</TD> 208 <TD>not implemented</TD> 209 </TR> 180 210 </TABLE> 181 211 -
pa_proposals/trunk/possibilities.html
r30 r53 18 18 <P><A href="index.html">Enhancement Proposals Index</A>, 19 19 <A href="http://www.portaudio.com/">PortAudio Home Page</A></P> 20 <P>Updated: October 5, 2002 </P>20 <P>Updated: October 22, 2002 </P> 21 21 22 22 <H4>Overview</H4> … … 28 28 made about when or if these enhancements will be adopted. 29 29 </P> 30 31 32 <H4>Stream Finished Callback</H4>33 34 <P>35 PortAudio allows clients to terminate a stream by returning non-zero from the36 stream callback function. However, PortAudio cannot notify clients when the stream has37 actually completed playing all audio data. Currently the only methods of discovering38 whether a stream has actually finished playing is to poll Pa_IsStreamActive()39 or to wait for a blocking call to Pa_StopStream() to return. Some clients would40 prefer to receive an asyncronous notification when the stream completes playing:41 </P>42 43 <PRE>44 typedef void PaStreamFinishedCallback( void *userData );45 46 /* register a callback function which will be called when a stream enters47 the Callback Finished state in response to the audio callback returning48 non-zero*/49 50 PaError Pa_SetStreamFinishedCallback( PaStream *stream, PaStreamFinishedCallback* streamFinishedCallback );51 </PRE>52 53 54 <H4>Version querying functions</H4>55 56 <P>57 Some clients could benefit from being able to determine which version of58 PortAudio is in use. This could be achieved using the following version59 querying functions:60 </P>61 62 <PRE>63 /* return the release number of the currently running build of PortAudio, eg 1900 */64 int Pa_GetVersion();65 66 /* return a textual description of the current PortAudio build, eg "PortAudio V19-devel 13 October 2002" */67 const char* Pa_GetVersionText();68 </PRE>69 30 70 31 … … 79 40 80 41 81 <H4>Pa_OpenStream() Flag to Prime Initial Buffers Using the Stream Callback</H4>82 83 <P>84 Currently, when a stream is started, host buffers are initially filled with zeros (silence). This is done so that the Stream Callback: a) is called regularly (useful for time syncronisation), b) provides relatively constant latency from calback to output, and c) avoids a peak in processor load while a number of buffers are filled one after another. The downside of this strategy is that the startup latency is held constant, whereas some host APIs may be able to provide significantly lower startup latency if the initial buffers are filled with valid sample data.85 </P>86 87 <P>88 Although it is generally held that the above behavior is the most widely useful for streaming audio applications, a flag could be provided to Pa_OpenStream() to indicate that the buffers should initially be primed using the callback:89 </P>90 91 <PRE>92 paPrimeBuffersUsingCallback93 </PRE>94 95 42 </BODY> 96 43 </HTML>
