GNOME Bugzilla – Bug 356037
gstreamer won't play mp3s using playbin but will using gst-launch
Last modified: 2006-09-21 13:48:35 UTC
When I enter: gst-launch playbin uri=file:///home/paavola/Desktop/test.mp3 I get: Setting pipeline to PAUSED ... ** Message: don't know how to handle application/x-id3 Pipeline is PREROLLING ... ERROR: from element /playbin0: You do not have a decoder installed to handle this file. You might need to install the necessary plugins. Additional debug info: gstplaybasebin.c(1457): prepare_output (): /playbin0 ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... FREEING pipeline ... However the same file plays perfectly well using: gst-launch filesrc location=test.mp3 ! mad ! audioconvert ! audioresample ! alsasink The output for that is: Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: audioclock0 My system is FC5 and the gstreamer-0.10.9.2.gst.1.5 package was installed. The plugins packages are: gstreamer-plugins-base-0.10.5-1 gstreamer-plugins-good-0.10.4-0.gst.1.5 gstreamer-plugins-ugly-0.10.3-1.fc5 Any suggestions?
Usually, this just means that you haven't got the id3demux plugin installed (from gst-plugins-good). But you claim you do have -good installed, so I don't know what's going on. Does $ gst-inspect-0.10 id3demux output anything? Any chance you have a copy of libgstreamer-0.10.so in both /usr/lib and some other prefix like /usr/local/lib or /opt/lib or whatever (did you ever compile GStreamer from source? maybe use jhbuild?) Could you run: $ GST_DEBUG=GST_REGISTRY:5 gst-launch-0.10 playbin uri=file:///path/to/foo.mp3 2>&1 | gzip > dbg.log.gz and attach the dbg.log.gz file to this report please?
Created attachment 72868 [details] gzipped debug output
gst-inspect-0.10 id3demux outputs: No such element or plugin 'id3demux' However, rpm -q gstreamer-plugins-good -l returns (among other things): /usr/lib/gstreamer-0.10/libgstid3demux.so and ls /usr/lib/gstreamer-0.10/ confirms that it's still there. I installed GStreamer from an rpm package. find / -iname "libgstream*" returns only: /usr/lib/libgstreamer-0.10.so.0.8.1 /usr/lib/libgstreamer-0.10.so.0 where the latter is a link to the former. When I ran: GST_DEBUG=GST_REGISTRY:5 gst-launch-0.10 playbin uri=file:///path/to/foo.mp3 2>&1 | gzip > dbg.log.gz I got: bash: syntax error near unexpected token `&' I couldn't figure out the syntax problem so I ran: GST_DEBUG=GST_REGISTRY:5 gst-launch-0.10 playbin uri=file:///home/paavola/Desktop/test.mp3 2>1 and then gzipped the file 1. I hope this contains all the information you need. before I gzipped that file, I looked at: grep id3demux which returned: 0:00:00.235213000 21077 0x9ea59f8 LOG GST_REGISTRY gstregistry.c:762:gst_registry_scan_path_level:<registry0> examining file: /usr/lib/gstreamer-0.10/libgstid3demux.so 0:00:00.235289000 21077 0x9ea59f8 DEBUG GST_REGISTRY gstregistry.c:833:gst_registry_scan_path_level:<registry0> file /usr/lib/gstreamer-0.10/libgstid3demux.so not yet in registry I'm not sure what "not yet in registry" means, but it seems relevant.
Thanks, the log doesn't give us enough details I'm afraid. Could you also do a full log and attach it please? $ export GST_DEBUG_NO_COLOR=1 $ GST_DEBUG=*:5 gst-inspect-0.10 id3demux 2>dbg.log $ gzip dbg.log (first line not required, but makes output smaller). After you've done that, could you try $ rm ~/.gstreamer-0.10/registry*xml $ gst-inspect-0.10 id3demux to see if that changes anything?
I have generated the log you asked for. After I removed the registry as you suggested, gst-inspect-0.10 id3demux returns the same output as before: No such element or plugin 'id3demux'
Created attachment 72988 [details] gzipped debug output Output from "GST_DEBUG=*:5 gst-inspect-0.10 id3demux 2>dbg.log"
Thanks! So, here's the problem: WARN GST_PLUGIN_LOADING gstplugin.c:414:gst_plugin_load_file: module_open failed: /usr/lib/gstreamer-0.10/libgstid3demux.so: undefined symbol: gst_tag_image_type_get_type This means you need to upgrade your GStreamer -base plugins version to at least 0.10.9 (latest is 0.10.10). At the end of the day this is either a packaging bug of some sort or a problem with gst-plugin-good's configure.ac where the required versions are specified. If I remember correctly, it was actually the latter (we forgot to update the requirements for the last -good release in the configure.ac file). Sorry about that. It's fixed in CVS as far as I can tell. Closing this bug, since there isn't really much we can do about this now and it's fixed in CVS. Sorry for the inconvenience :)