Hiya,
I'm having a lot of trouble using playbin2 for gapless playback. I used the 'about-to-finish' signal to set the next URI. This works fine, and playback works fine too. When I press pause though, and query the pipeline for the current position, I get the running time, not the position. When I hit play again, I get the position as expected and playback resumes from where it stopped.
For example if I have an audio clip that's 10 seconds long, and everytime I get the 'about to finish' signal, I queue it again, if I hit pause half way through the 5th play through, a position query on the pipeline will give me 0:45s.
The pipeline looks like this:
playbin2 ! equalizer ! tee T ! queue ! volume ! autoaudiosink . T ! queue ! audioconvert ! spectrum ! fakesink
I linked everything using C++ though, so I have everything outside playbin2 in another bin with a ghost pad set as playbin2's audio-sink property. I also set the fakesink 'async' property to false to allow the pipeline to pause.
I don't have any issues without the tee and queue elements. This pipeline works fine:
playbin2 ! equalizer ! volume ! autoaudiosink.
My code is here for ref ( line0-370 is pipeline setup and line 676 for position query):
http://pastebin.com/07JTQJaw ...but I don't think it'll be that helpful.
I'd appreciate any advice!
-Pris
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel