[openal] FFmpeg + OpenAL - playback streaming sound from video won't work

Chris Robinson chris.kcat at gmail.com
Tue Jan 28 12:11:33 EST 2014


Glad you figured it out. :) I actually wish I could include an ffmpeg 
video player example with OpenAL Soft, but ffmpeg's constant API breaks 
makes that too impractical to do. :/

As for this bit:

> SDL seems to call a callback, requesting a number of bytes/buffers to be
> filled. But with OpenAL you need to put the complete audio stream in
> there and OpenAL does the skipping itself (otherwise that whole
> multi-buffering it does wouldn't make much sense). So you don't really
> need to do any audio synching with OpenAL if I got that correctly.

What I mean by synchronization is that the correct video frame is shown 
with the correct audio frame being heard. OpenAL will correctly play the 
samples you give it, but the timing of the audio stream may not be the 
same as the main system/video. Particularly when resampling is involved, 
the audio time can ever-so-slightly "drift", and that drift accumulates 
over time.

This is further complicated by how much delay there can be between 
queueing an audio frame onto a source and it being heard, or even the 
delay between the source offset and what's being heard (this was the 
main reason behind AL_SOFT_source_latency, to get more accurate 
positioning of what's being heard; it also tends to give a bit better 
granularity than OpenAL Soft's default ~22ms updates).


More information about the openal mailing list