[pulseaudio-discuss] Querying the number of samples played
Pierre Ossman
ossman at cendio.se
Tue Feb 13 23:50:33 PST 2007
Kevin Mescher wrote:
> Thanks for the quick response. PulseAudio looks like a very robust API,
> and
> the cross-platform nature makes my job MUCH easier.
>
Np. You shouldn't top post though, terribly annoying.
>
> I'm going to do a sanity check on my thinking here:
>
> Where each frame is a single sample from one or more channels:
>
> The number of "samples" (in this case, frames) = pa_get_stream_time(...) *
> sampling_rate / 1000000
>
Yes, but with the slight error that you do not use the return value from
pa_get_stream_time(). (you use r_usec).
>
> Should I use PA_STREAM_INTERPOLATE_TIMING and PA_STREAM_AUTO_TIMING_UPDATE
> to save on network traffic?
>
They are usually a good idea if you want stable latency values.
>
> For later development, I'd like to change the model to this:
>
> In the playback procedure, run pa_mainloop_iterate, and use a
> pa_stream_write callback to set the "needs more data" flag, rather than
> using a sample count method. If the flag is set, send more data, and
> update
> the waveform marker.
>
> When loading data, I would send (325 + msec_latency) msec worth of
> data. Or
> is there a way to calculate the optimum chunk size to send?
>
I'd suggest using a pull model. You tell pulse to use a buffer size of
325 ms, then give it as much data as it asks for (via the callbacks).
Rgds
--
Pierre Ossman OpenSource-based Thin Client Technology
System Developer Telephone: +46-13-21 46 00
Cendio AB Web: http://www.cendio.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 251 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20070214/039351da/attachment.pgp>
More information about the pulseaudio-discuss
mailing list