GNOME Bugzilla – Bug 588049
Totem (with gtreamer backend) stops http stream playback when the sample rate changes.
Last modified: 2011-05-20 07:05:53 UTC
Please describe the problem: Totem 2.26.1 (with gtreamer backend 0.10.22) stops http stream playback when the sample rate changes. Steps to reproduce: 1. Stream a collection of mp3 files with varying sample rate through icecast. 2. Play stream through totem. 3. Playback stops when sample rate changes. Actual results: Playback stops when sample rate changes. Expected results: Playback would should continue (like with other media players such as mplayer) Does this happen every time? Yes Other information: The bug did not seem to present with Totem 2.22.1 (with gstreamer backend 0.10.18).
Got the url of a sample stream at hand by any chance?
I noticed the problem at our icecast stream at home. Here is an example URL which exhibits the problem. http://bertold.org/stream.mp3 This is not a genuine stream but just a file (but I do not think this is relevant). It is a 20 second fragment that changes sample rate half way (it is clear when it happens as the music changes as well). I realize that an mp3 file should not contain frames with different sample rates but for streams this is probably not so uncommon.
I can add some useful information I think. I played the file stream.mp3 directly using gstreamer using the script Example 2.1 on this URL http://pygstdocs.berlios.de/pygst-tutorial/playbin.html On my computer with gstreamer 0.10.22 the script hangs when the change in sample rate occurs. On 0.10.18 the file seems to play fine.
Seems to work with git too. The only problem I can see is that timestamps jump at the break.
Created attachment 138387 [details] gstpython script to play streams
It seems quite difficult to pin this down. When I play the stream http://bertold.org/stream.mp3 on a computer with gstreamer 0.10.21 I (usually) get an actual error after 10 seconds: Error: GStreamer encountered a general resource error. pulsesink.c(634): gst_pulsesink_prepare (): /GstPlayBin:player/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse Hence the script (see attmnt) does not hang in this case but gives an error. Sometimes the stream plays fine. I have used gstreamer-properties to set the output to straight alsa but I get the same error (in particular a reference to pulsesink.c). Perhaps the experts can explain why this is?
Created attachment 138391 [details] gst-python script that plays back streams through ALSA
I modified the script to force it to play back through alsa (since gstreamer-properties does not work). Now the stream plays fine. So this is clearly an issue with the interraction between gstreamer and pulseaudio.
Works fine with PA nowadays too... can you confirm that this is the case for you too with the latest releases of gst-plugins-good and pulseaudio?