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 356037 - gstreamer won't play mp3s using playbin but will using gst-launch
gstreamer won't play mp3s using playbin but will using gst-launch
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: dont know
0.10.9
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-09-15 00:39 UTC by Chad Paavola
Modified: 2006-09-21 13:48 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14


Attachments
gzipped debug output (61.74 KB, application/x-download)
2006-09-15 18:20 UTC, Chad Paavola
Details
gzipped debug output (94.98 KB, application/x-download)
2006-09-18 16:06 UTC, Chad Paavola
Details

Description Chad Paavola 2006-09-15 00:39:56 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?
Comment 1 Tim-Philipp Müller 2006-09-15 10:44:12 UTC
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?
Comment 2 Chad Paavola 2006-09-15 18:20:24 UTC
Created attachment 72868 [details]
gzipped debug output
Comment 3 Chad Paavola 2006-09-15 18:23:13 UTC
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.
Comment 4 Tim-Philipp Müller 2006-09-17 21:52:58 UTC
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?
Comment 5 Chad Paavola 2006-09-18 15:59:49 UTC
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'
Comment 6 Chad Paavola 2006-09-18 16:06:45 UTC
Created attachment 72988 [details]
gzipped debug output

Output from "GST_DEBUG=*:5 gst-inspect-0.10 id3demux 2>dbg.log"
Comment 7 Tim-Philipp Müller 2006-09-21 13:48:35 UTC
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 :)