Can't play mp3 streams from www.di.fm anymore

Bug #29959 reported by Michael Bienia
12
Affects Status Importance Assigned to Milestone
GStreamer
Fix Released
Wishlist
gstreamer0.10 (Ubuntu)
Fix Released
Medium
Ubuntu Desktop Bugs

Bug Description

The real problem is: since the change to gstreamer0.10 I can't listen to www.di.fm using rhythmbox anymore

I've done some tests and found out:
- it works when using streamripper as a relay

Then I did some test with gst-launch:
- gst-launch-0.8 playbin uri=http://64.236.34.67:80/stream/1024 => works
- gst-launch-0.8 gnomevfssrc location=http://64.236.34.67:80/stream/1024 ! decodebin ! audioconvert ! alsasink => works
- gst-launch-0.10 gnomevfssrc location=http://64.236.34.67:80/stream/1024 ! mad ! audioconvert ! alsasink => works

- gst-launch-0.10 gnomevfssrc location=http://64.236.34.67:80/stream/1024 ! decodebin ! audioconvert ! alsasink => doesn't work
- gst-launch-0.10 playbin uri=http://64.236.34.67:80/stream/1024 => doesn't work

In both cases where it doesn't work I get only the following output:
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
and nothing happens until I abort it.

Revision history for this message
Craig Sampson (ubuntu-psi-aus) wrote :

I can confirm this on Dapper using gstreamer0.10

Changed in gstreamer0.10:
status: Unconfirmed → Confirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks for your bug. This upload fixes the issue:

 gstreamer0.10 (0.10.4-1ubuntu1) dapper; urgency=low
 .
   * Sync with Debian
     New upstream version:
     * Changes since 0.10.3:
       - Parallel installability with 0.8.x series
       - Threadsafe design and API
       - 33% of library size removed by parse change
       - (Experimental) QoS features
         (use max-lateness on BaseSink subclasses to enable)
     * Bugs fixed since 0.10.3:
       - 323542 : GStreamer 0.10 hangs at EOS for all songs
       - 320340 : triggering a gst_task_join from the streaming task can de...
       - 322628 : document thread-unsafety of gst_value_foo() + gst_value_r...
       - 324186 : Smarter (deterministic!) typefind decisions
       - 324398 : varargs/valist functions aren't bindable
       - 328873 : only one gst_bin_recalc_state allowed at a time
       - 330899 : CVS directory in make dist tarball
       - 330906 : API: add GST_QUERY_TYPE_NAME and GST_MESSAGE_TYPE_NAME
       - 330996 : basesrc emits EOS unconditionally when going to READY
       - 331255 : Shrinking gst_parse_launch bloat
       - 331898 : Basetranform is not reusable
       - 332045 : API: GstPipeline needs API to disable flushing of its bu...
       - 332277 : [filesrc] seek does not correct read position in non-mmap...
       - 332611 : [basesrc] needs way to prevent expensive start/stop in ch...
       - 332723 : New API: gst_type_find_helper_for_buffer
       - 333042 : New API: gst_type_find_helper_get_range
       - 333266 : Registry file writing rewrite
       - 333272 : tests should set G_SLICE=always-malloc now
       - 333417 : GST_BOILERPLATE_WITH_INTERFACE can't be used in C++ code
       - 333669 : Add pad accessor defines for GstBaseTransform
       - 333779 : New API: add gst_uri_has_protocol
       - 324818 : gst_registry_get_default doesn't sink newly created registry
       - 330125 : _pad_send_event does not check flushing correctly
       - 330684 : Add ability to emit sync-message without messing with the...
   * debian/control.in:
     - list a -dbg package
     - updated the gstreamer0.8-tools Conflicts version for Ubuntu
   * debian/rules:
     - use dh_strip to build a debug package

Changed in gstreamer0.10:
assignee: nobody → desktop-bugs
status: Confirmed → Fix Released
Revision history for this message
Alexander van Loon (avanloon) wrote :

I was about to report a bug on the Rhythmbox troubles with di.fm as well, but fortunately this turned up as the first result in the search. I hope that it's ok if I reopen this bug again, because I still have some problems.

I verified in Synaptic that I have GStreamer 0.10.4 installed, which should have fixed this.

What I have done is the following:

1. Open Epiphany, go to di.fm and download the pls file for their Trance radio channel (the first radio channel from the top of the list) http://di.fm/mp3/trance.pls
2. After it's downloaded Rhythmbox will automatically open that pls and add the radio streams. When I try to play them in Rhythmbox, they won't play, and all the four entries for the Trance radio channel will have that icon, a red circle with a white bar in it, in front of them.
3. Then I opened the pls file with gedit to get the URL's of the streams. Then I used those URL's with the gst-launch-0.10 command in the terminal, the terminal output is as follows:

sander@ubuntu:~$ gst-launch-0.10 playbin uri=http://64.236.34.97:5190/stream/1003
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /playbin0/source: Resource not found.
Additional debug info:
gstgnomevfssrc.c(1202): gst_gnome_vfs_src_start (): /playbin0/source:
Could not open vfs file "http://64.236.34.97:5190/stream/1003" for reading: File not found
Setting pipeline to NULL ...
FREEING pipeline ...
sander@ubuntu:~$ gst-launch-0.10 playbin uri=http://64.236.34.97:80/stream/1003 Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /playbin0/source: Resource not found.
Additional debug info:
gstgnomevfssrc.c(1202): gst_gnome_vfs_src_start (): /playbin0/source:
Could not open vfs file "http://64.236.34.97:80/stream/1003" for reading: File not found
Setting pipeline to NULL ...
FREEING pipeline ...
sander@ubuntu:~$ gst-launch-0.10 playbin uri=http://64.236.34.4:5190/stream/1003Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /playbin0/source: Resource not found.
Additional debug info:
gstgnomevfssrc.c(1202): gst_gnome_vfs_src_start (): /playbin0/source:
Could not open vfs file "http://64.236.34.4:5190/stream/1003" for reading: File not found
Setting pipeline to NULL ...
FREEING pipeline ...
sander@ubuntu:~$ gst-launch-0.10 playbin uri=http://64.236.34.4:80/stream/1003 Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /playbin0/source: Resource not found.
Additional debug info:
gstgnomevfssrc.c(1202): gst_gnome_vfs_src_start (): /playbin0/source:
Could not open vfs file "http://64.236.34.4:80/stream/1003" for reading: File not found
Setting pipeline to NULL ...
FREEING pipeline ...
sander@ubuntu:~$

Changed in gstreamer0.10:
status: Fix Released → Confirmed
Revision history for this message
Michael Bienia (geser) wrote :

I can confirm this problem if I use the current *.pls from di.fm. beep-media-player has no problem with the same pls-files.

But I can listen to the radio channels from di.fm if I use the address from the channel I stored in rhythmbox some time ago. The only difference is the IP.

gst-launch-0.10 playbin uri=http://64.236.34.97:80/stream/1003 => doesn't work
gst-launch-0.10 playbin uri=http://64.236.34.67:80/stream/1003 => works

Revision history for this message
Sebastien Bacher (seb128) wrote :

Neither of those seems to be running at the moment, do you have any other example?

Revision history for this message
Michael Bienia (geser) wrote :

I tried it again with the cases from my opening report (the results are independent of the IP 64.236.34.67 or 64.236.34.97 the same):

gst-launch-0.8 playbin uri=http://64.236.34.97:80/stream/1024 => still works

gst-launch-0.8 gnomevfssrc location=http://64.236.34.67:80/stream/1024 !
decodebin ! audioconvert ! alsasink => doesn't work anymore

gst-launch-0.10 gnomevfssrc location=http://64.236.34.97:80/stream/1024 ! mad ! audioconvert ! alsasink => doesn't work anymore

gst-launch-0.10 playbin uri=http://64.236.34.97:80/stream/1024 => doesn't work
The output is:
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /playbin0/source: Resource not found.
Additional debug info:
gstgnomevfssrc.c(1202): gst_gnome_vfs_src_start (): /playbin0/source:
Could not open vfs file "http://64.236.34.97:80/stream/1024" for reading: File not found
Setting pipeline to NULL ...
FREEING pipeline ...

Revision history for this message
Sebastian Dröge (slomo) wrote :

This seems to be more a problem with gnomevfs...
"gnomevfs-cat http://64.236.34.97:80/stream/1024" doesn't work (file not found)

mplayer on that url works fine

Revision history for this message
Sebastian Dröge (slomo) wrote :

which could very well be because behind that urls are no "real" http streams, i.e. headers are missing etc which is normal for streams.

gst0.8 had a afaik a non-gnomevfs http implementation that was favoured over gnomevfssrc... thus playbin with gst0.8 works, gnomevfssrc doesn't.

the neonhttpsrc from plugins-bad could help here but it's not really ready yet and needs a newer neon version than the one we have in dapper.

Revision history for this message
Sebastian Dröge (slomo) wrote :

This is already reported upstream and will be fixed in the next days...
See http://bugzilla.gnome.org//show_bug.cgi?id=333657

Revision history for this message
Michael Bienia (geser) wrote :

After the todays update of gstreamer0.10-plugins-ugly (to version 0.10.3-0ubuntu1), I rechecked it and currently rhythmbox can play the channels from di.fm.
Even using gnomevfssrc directly (gst-launch-0.10 gnomevfssrc location=http://64.236.34.97:80/stream/1024 ! mad ! audioconvert ! alsasink) works again.
How fits this update into this?

One minor issues still remains: rhythmbox doesn't display the id3tags from the channel. But I don't know if this is an bug in gstreamer or rhythmbox.

Revision history for this message
Sebastian Dröge (slomo) wrote :

normally it can't be fixed by that new release of plugins-ugly... but ok, as it fixes the problem for you, fine :) and it works now for me too ;)

so let's close this one but you might want to file a new bug about the tags problem on that streams as it's a completely different problem

Changed in gstreamer0.10:
status: Confirmed → Fix Released
Changed in gstreamer:
status: In Progress → Fix Released
Changed in gstreamer:
importance: Unknown → Wishlist
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.