GNOME Bugzilla – Bug 552603
video freeze while don't send any audio buffer to sink
Last modified: 2008-09-26 08:01:00 UTC
Steps to reproduce: my pipeline obtain video link to xvimagesink and audio link to osssink, while i playback a file with audio and video data, it is ok; however i playback a file only with video or only with audio, it is not ok that picture or audio will be freeze, i trace basesink, and found audio sink or video sink is preroll status and waiting first buffer to render. i don't know how to avoid it. my stream maybe only video in first 10 second, then audio occur. Anybody can advise me? Stack trace: Other information:
If you have all the sinks linked you'll get freezes because the pipeline wants data on all sinks. You can fix this by sending "filler segments", i.e. NEWSEGMENT events, for filling the gaps. Take a look at matroskademux' code for example
Hi, Sebastian, I don't understand matroska format, can you help me to introduce how to implement a filler segment while there is no audio data?
i see source of gstreamer, found
do you mean we should often send a newsegment event to audio sink if have no audio data? but i tried and result still not be ok. video picture is still freezed. It sounds like audiosink is still preroll status.
You can also use the async=false option so that the sink does not wait for data before prerolling. Going to close this bug, it's not a bug.
i have tried async=false option, it is poor, the first several seconds, audio have noise.