After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 396409 - Radio stations using chained oggs break rhythmbox
Radio stations using chained oggs break rhythmbox
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: Internet Radio
0.9.7
Other All
: Normal normal
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
: 342967 374242 407634 492727 568428 (view as bug list)
Depends on:
Blocks: 537593
 
 
Reported: 2007-01-14 12:15 UTC by Sam Morris
Modified: 2009-10-15 17:22 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
debug output from rhythmbox (788.49 KB, application/x-bzip2)
2007-01-14 12:36 UTC, Sam Morris
Details

Description Sam Morris 2007-01-14 12:15:54 UTC
Please describe the problem:
I'm trying to listen to the stream at <http://213.186.37.76:8002/high.ogg.m3u>. It plays for a few seconds, but then stops. 'Buffering' appears in the scroll bar at the bottom of the window, but the scroll bar doesn't fill up, it stops at 99%.

Double-clicking on the station (to restart playback) works and the stream plays for a few more seconds. Thereafter rhythmbox locks up and doesn't redraw its window. This lasts for 10-15 seconds. After it recovers, no internet radio stations will play.

If I then try to go back to my local music library, rhythmbox fails to play each song in turn, and does it so rapidly that I can't tell it to stop! During this phase, as each file fails to play, a few messages are printed to the console:

(rhythmbox:13062): GStreamer-WARNING **: Name selector_audio_src0 is not unique in bin playbin, not adding

(rhythmbox:13062): GStreamer-WARNING **: Name preroll_audio_src0 is not unique in bin playbin, not adding

(rhythmbox:13062): GStreamer-WARNING **: Element preroll_audio_src0 is not in bin playbin

(rhythmbox:13062): GStreamer-WARNING **: Element selector_audio_src0 is not in bin playbin

(rhythmbox:13062): GStreamer-WARNING **: Name selector_audio_src0 is not unique in bin playbin, not adding

(rhythmbox:13062): GStreamer-WARNING **: Name preroll_audio_src0 is not unique in bin playbin, not adding

(rhythmbox:13062): RhythmDB-CRITICAL **: rhythmdb_entry_get_string: assertion `entry != NULL' failed

(rhythmbox:13062): RhythmDB-CRITICAL **: rhythmdb_entry_get_ulong: assertion `entry != NULL' failed

(rhythmbox:13062): RhythmDB-CRITICAL **: rhythmdb_entry_set: assertion `entry != NULL' failed

(rhythmbox:13062): RhythmDB-CRITICAL **: rhythmdb_entry_set: assertion `entry != NULL' failed

(rhythmbox:13062): GStreamer-WARNING **: Element preroll_audio_src0 is not in bin playbin

(rhythmbox:13062): GStreamer-WARNING **: Element selector_audio_src0 is not in bin playbin

(rhythmbox:13062): GStreamer-WARNING **: Name selector_audio_src0 is not unique in bin playbin, not adding

(rhythmbox:13062): GStreamer-WARNING **: Name preroll_audio_src0 is not unique in bin playbin, not adding

(rhythmbox:13062): GStreamer-WARNING **: Element preroll_audio_src0 is not in bin playbin

(rhythmbox:13062): GStreamer-WARNING **: Element selector_audio_src0 is not in bin playbin

(rhythmbox:13062): GStreamer-WARNING **: Name selector_audio_src0 is not unique in bin playbin, not adding

(rhythmbox:13062): GStreamer-WARNING **: Name preroll_audio_src0 is not unique in bin playbin, not adding

(rhythmbox:13062): GStreamer-WARNING **: Element preroll_audio_src0 is not in bin playbin

(rhythmbox:13062): GStreamer-WARNING **: Element selector_audio_src0 is not in bin playbin

(rhythmbox:13062): GStreamer-WARNING **: Name selector_audio_src0 is not unique in bin playbin, not adding

(rhythmbox:13062): GStreamer-WARNING **: Name preroll_audio_src0 is not unique in bin playbin, not adding

etc.

Steps to reproduce:


Actual results:


Expected results:


Does this happen every time?


Other information:
This is quite complicated and probably requires an audio stream that is unable to stream at its regular capacity, but I often run into the buffer emptying -> lockup trap when using Rhythmbox to listen to internet radio stations. This is the first time that I've been unable to switch back to playing local libray tracks though.
Comment 1 Sam Morris 2007-01-14 12:36:30 UTC
Created attachment 80230 [details]
debug output from rhythmbox

Unfortunately when I run rhthmbox with the --debug option it doesn't seem to get past the freeze stage.
Comment 2 Sam Morris 2007-01-16 14:45:03 UTC
Maybe this is a GStreamer issue:

$ gst-launch --tags playbin uri=http://213.186.37.76:8002/high.ogg
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
FOUND TAG      : found by element "vorbisdec1".
extended comment: ENCODER=SAM technology
           title: You are listening Nectarine Radio! Please visit www.scenemusic.eu
         encoder: AO; aoTuV b3 [20041120] (based on Xiph.Org's libVorbis)
 encoder version: 0
     audio codec: Vorbis
 nominal bitrate: 99040
         bitrate: 99040
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: audioclock0

[ ... playing normally ... ]

FOUND TAG      : found by element "vorbisdec3".
extended comment: ENCODER=SAM technology
                : DURATION=562129
                : SONGTYPE=S
                : OVERLAY=no
          artist: Lunde
           title: Worm Playing Saxophone in a Desert Storm
    track number: 0
         encoder: AO; aoTuV b3 [20041120] (based on Xiph.Org's libVorbis)
 encoder version: 0
     audio codec: Vorbis
 nominal bitrate: 99040
         bitrate: 99040

[ ... silence ... ]

Caught interrupt -- Pausing pipeline.
Pipeline paused.
WARNING: Element "playbin0" warns: pipeline interrupted
Element "playbin0" has gone from PLAYING to PAUSED, quitting.
Execution ended after 111501757000 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
FREEING pipeline ...

Perhaps it is being confused by whatever the stream does when songs/tags change. I watched traffic to/from the host with ngrep and noticed that after a song change, data continues to be downloaded but only with one byte per packet (or at least, per lot of data that ngrep prints out), where before the song changed there were a few lines per packet.
Comment 3 Sam Morris 2007-01-16 14:56:47 UTC
<__tim> cortana: known oggdemux bug, probably a chained ogg

So this is probably a dupe of bug #320984 as it turns out!

Comment 4 Hussam Al-Tayeb 2007-01-16 15:05:40 UTC
I can confirm this with this url http://ogg2.smgradio.com/vr32.ogg using a fresh build from svn
Comment 5 Sam Morris 2007-01-16 15:06:24 UTC
Well, not a dupe of that bug, but at least related to it. From its comment #20:

"The problem isn't really with oggdemux AFAIK. It switches chains correctly
(emit no-more-pads, add pad, remove pad). The problem has to do with whatever
uses it (decodebin/playbin or user-defined pipeline)."

I'll shut up and stop spamming you all now!
Comment 6 Sven Arvidsson 2008-06-29 21:03:48 UTC
Chained ogg is supposedly supported in playbin2. 

Are there any plans to make use of this in the near future or will it wait until the API has been declared stable?
Comment 7 Jonathan Matthew 2008-06-29 22:09:19 UTC
My plan was to wait until totem switches to playbin2 (shouldn't be too far away); if someone else wants to do the work before that, then we can think about API stability and whatever else.

Recently I also got chained ogg playback working with the crossfading backend, but  only with decodebin2, which is a separate issue as far as I understand.
Comment 8 Jonathan Matthew 2008-07-01 11:33:19 UTC
*** Bug 492727 has been marked as a duplicate of this bug. ***
Comment 9 Jonathan Matthew 2008-07-29 21:40:14 UTC
*** Bug 342967 has been marked as a duplicate of this bug. ***
Comment 10 Jonathan Matthew 2008-11-18 12:41:22 UTC
*** Bug 374242 has been marked as a duplicate of this bug. ***
Comment 11 Christophe Fergeau 2009-01-20 19:24:28 UTC
*** Bug 568428 has been marked as a duplicate of this bug. ***
Comment 12 Jonathan Matthew 2009-05-23 11:42:00 UTC
Now we're using playbin2 and decodebin2 everywhere, this is fixed.
Comment 13 Thiago Sousa Santos 2009-10-15 17:22:36 UTC
*** Bug 407634 has been marked as a duplicate of this bug. ***