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 373642 - some mp3s cant be played back
some mp3s cant be played back
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
0.10.10
Other All
: Normal major
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-11-11 01:25 UTC by khiraly
Modified: 2006-12-11 09:46 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
GST_DEBUG=*:3 GST_DEBUG_NO_COLOR=1 rhythmbox (154.27 KB, text/plain)
2006-11-11 10:45 UTC, khiraly
Details
GST_DEBUG="mad:5" rhythmbox (9.57 KB, text/plain)
2006-11-11 10:50 UTC, khiraly
Details
GST_DEBUG=*:5 gst-launch-0.10 playbin uri=... (279.25 KB, application/octet-stream)
2006-11-21 18:25 UTC, khiraly
Details

Description khiraly 2006-11-11 01:25:52 UTC
Please describe the problem:
I have some mp3s which ones I cant play back with rhythmbox, but every other application (xine, mplayer, mpg123, mpg321) plays just fine, and even gstreamer can play back it too:

osssink:
gst-launch-0.10 filesrc
location=/mnt/dat/tmp/music/5x2/01-Cinq\ fois\ deux.mp3
! mad ! audioconvert ! audioresample ! osssink

alsasink:
gst-launch-0.10 filesrc
location=/mnt/dat/tmp/music/5x2/01-Cinq\ fois\ deux.mp3
! mad ! audioconvert ! audioresample ! alsasink

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: audioclock0

(music is being played just fine)


Steps to reproduce:
1. turn on the computer;)
2. launch rhythmbox
3. try to play some mp3s


Actual results:
The player cant play back my mp3 files.

Expected results:
The player should play back these music files just fine.

Does this happen every time?
Yes, it does every time.

Other information:
Thish problem is really serious for me, because almost the half of my music library is affected.

I have launched rhythmbox with -d command (debug mode), here is the releval output of it:
(20:08:26) [0x816fe00] [rb_shell_player_open_location] rb-shell-player.c:1161: Opening file:///mnt/dat/tmp/music/Arash/10-arash_-_music_is_my_language-sms.mp3...
(20:08:26) [0x816fe00] [rb_player_gst_sync_pipeline] rb-player-gst.c:615: syncing pipeline
(20:08:26) [0x816fe00] [rb_player_gst_sync_pipeline] rb-player-gst.c:626: PAUSING pipeline
(20:08:26) [0x816fe00] [rb_player_gst_sync_pipeline] rb-player-gst.c:615: syncing pipeline
(20:08:26) [0x816fe00] [rb_player_gst_sync_pipeline] rb-player-gst.c:617: PLAYING pipeline
(20:08:26) [0x816fe00] [rb_shell_player_set_playing_entry] rb-shell-player.c:1312: Success!
(20:08:26) [0x816fe00] [rb_shell_hidden_notify] rb-shell.c:2867: shell is visible, not notifying
(20:08:26) [0x816fe00] [rb_shell_player_sync_with_source] rb-shell-player.c:2323: playing source: 0x83a6020, active entry: 0x868ba90
(20:08:26) [0x816fe00] [rb_shell_set_window_title] rb-shell.c:2058: setting title to "Arash - Music is My Language"
(20:08:26) [0x816fe00] [rb_header_sync] rb-header.c:353: syncing with entry = 0x868ba90
(20:08:26) [0x816fe00] [rb_shell_player_sync_buttons] rb-shell-player.c:2389: syncing with source 0x83a6020
(20:08:26) [0x816fe00] [rb_shell_player_error] rb-shell-player.c:2681: playback error while playing: Internal data flow error.
(20:08:26) [0x816fe00] [error_cb] rb-shell-player.c:2726: exiting error hander
(20:08:26) [0x816fe00] [rb_shell_player_handle_eos] rb-shell-player.c:680: handling eos!
(20:08:26) [0x816fe00] [rb_shell_player_open_location] rb-shell-player.c:1161: Opening file:///mnt/dat/tmp/music/Arash/11-arash_-_salamati_(duet_with_dj_aligator)-sms.mp3...
Comment 1 James "Doc" Livingston 2006-11-11 01:41:51 UTC
Could you run "GST_DEBUG=*:3 GST_DEBUG_NO_COLOR=1 rhythmbox" from a terminal, try to play one of these MP3s and post the last 40 or so lines?
Comment 2 Alex Lancaster 2006-11-11 01:42:44 UTC
Can you try and run rhythmbox with the gstreamer debugging for the mad mp3 plugin switched on?  Try starting it like this:

GST_DEBUG="mad:5" rhythmbox

You should see messages from the mad plugin as it tries to playback the file.

Also can you post an extract of (say a few seconds), or provide a link to one of the offending files?
Comment 3 Jonathan Matthew 2006-11-11 03:23:12 UTC
Also, try using playbin with gst-launch.  The pipeline you tried doesn't look much like what rhythmbox uses internally.  'gst-launch-0.10 playbin uri=file:///mnt/dat/tmp/music/5x2/01-Cinq\ fois\ deux.mp3' is a more useful test.
Comment 4 khiraly 2006-11-11 10:32:34 UTC
gst-launch-0.10 playbin uri=file:///mnt/dat/tmp/music/5x2/01-Cinq\ fois\ deux.mp3
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /playbin0/source: Internal data flow error.
Additional debug info:
gstbasesrc.c(1569): gst_base_src_loop (): /playbin0/source:
streaming task paused, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
FREEING pipeline ...

So its maybe a gstreamer problem. Can you point me to the right documentation/bugzilla if it is really a gstreamer bug?

All the packages are from debian unstable, and in particular gst-launch-0.10 is in  gstreamer0.10-tools (version 0.10.10-1).

Thx Jonathan for the quick answer, at least now I have some clues;)
Comment 5 khiraly 2006-11-11 10:45:30 UTC
Created attachment 76381 [details]
GST_DEBUG=*:3 GST_DEBUG_NO_COLOR=1 rhythmbox

The rhythmbox debug output what James (#1) requested.
Comment 6 khiraly 2006-11-11 10:50:22 UTC
Created attachment 76382 [details]
GST_DEBUG="mad:5" rhythmbox

The mad:5 output what Alex (#2) requested.
Comment 7 Alex Lancaster 2006-11-11 12:11:21 UTC
Does seem like a gstreamer problem since it fails in playbin, switching products.
Comment 8 Tim-Philipp Müller 2006-11-14 15:23:48 UTC
Thanks for the logs. Could you also create a complete GST_DEBUG=*:5 log like this please:

 $ export GST_DEBUG_NO_COLOR=1
 $ GST_DEBUG=*:5 gst-launch-0.10 playbin uri=file:///mnt/dat/tmp/music/5x2/01-Cinq\ fois\
deux.mp3  2>dbg.log
 $ gzip dbg.log

and then attach the dbg.log.gz file to this bug report? Thanks!
Comment 9 Jan Schmidt 2006-11-14 15:32:00 UTC
I can't spot it from the detail in this bug report, except I would note that
it's using the Fluendo MP3 decoder, not MAD.

I'm sure that you could fix the problem by removing the
gstreamer0.10-fluendo-mp3, but if I could gain access to a sample file, it
would be nice to ensure that it's either already fixed, or gets fixed before
the next release of gstreamer0.10-fluendo-mp3.
Comment 10 khiraly 2006-11-21 18:25:34 UTC
Created attachment 76987 [details]
GST_DEBUG=*:5 gst-launch-0.10 playbin uri=...

The output bzip2-d, what Tim-Philipp (#8) requested. The .log file is about 5MB, so I compressed with bzip2 (280kB) instead of gzip.
Here is the command line, what I did:

export GST_DEBUG_NO_COLOR=1; GST_DEBUG=*:5 gst-launch-0.10 playbin uri=file:///mnt/dat/tmp/music/5x2/01-Cinq\ fois\ deux.mp3 2>dbg.log
ERROR: from element /playbin0/source: Internal data flow error.
Additional debug info:
gstbasesrc.c(1569): gst_base_src_loop (): /playbin0/source:
streaming task paused, reason not-negotiated (-4)
Comment 11 khiraly 2006-11-21 18:34:36 UTC
To Jan (#9):

The mp3 file is 5.4MB. If you write here what should I do to cut the file (to be able to upload here), or how can I send to you?

I have removed the fluendo mp3 deb package:
apt-get remove gstreamer0.10-fluendo-mp3

And try again to play the file.
Here is the output:

gst-launch-0.10 playbin  uri=file:///mnt/dat/tmp/music/5x2/01-Cinq\ fois\ deux.mp3
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /playbin0/source: Internal data flow error.
Additional debug info:
gstbasesrc.c(1569): gst_base_src_loop (): /playbin0/source:
streaming task paused, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
FREEING pipeline ...

I think is pretty much the same error.

Any other idea?
Comment 12 khiraly 2006-11-28 00:25:50 UTC
I have recompiled the gstreamer source with debug option.
How can I launch from gdb session the above command?
(after recompilation the problem still exist)

What I try:
(gdb)  run -v playbin  uri=file:///mnt/dat/tmp/music/5x2/01-Cinq\ foisdeux.mp3
The program being debugged has been started already.
Start it from the beginning? (y or n) y

Starting program: /usr/bin/gst-launch-0.10 -v playbin  uri=file:///mnt/dat/tmp/music/5x2/01-Cinq\ foisdeux.mp3
[Thread debugging using libthread_db enabled]
[New Thread -1210952000 (LWP 4429)]
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /playbin0/source: Resource not found.
Additional debug info:
gstfilesrc.c(975): gst_file_src_start (): /playbin0/source:
No such file "/mnt/dat/tmp/music/5x2/01-Cinq foisdeux.mp3"
Setting pipeline to NULL ...
FREEING pipeline ...
[New Thread -1211798608 (LWP 4431)]
[Thread -1211798608 (LWP 4431) exited]

Program exited with code 0377.
Couldn't get registers: No such process.
(gdb)


Can somebody point me the right direction?
Comment 13 khiraly 2006-11-28 00:28:00 UTC
sorry, the above command was wrong
The right one:
(gdb)   run -v playbin  uri=file:///mnt/dat/tmp/music/5x2/01-Cinq\ foisdeux.mp3
The program being debugged has been started already.
Start it from the beginning? (y or n) n
Program not restarted.
(gdb)   run -v playbin  uri=file:///mnt/dat/tmp/music/5x2/01-Cinq\ fois\ deux.mp3
The program being debugged has been started already.
Start it from the beginning? (y or n) y

Starting program: /usr/bin/gst-launch-0.10 -v playbin  uri=file:///mnt/dat/tmp/music/5x2/01-Cinq\ fois\ deux.mp3
[Thread debugging using libthread_db enabled]
[New Thread -1211017536 (LWP 4443)]
Setting pipeline to PAUSED ...
/playbin0/decoder/typefind.src: caps = application/x-id3
/playbin0/selector_audio_src0: active-pad = "sink0"
[New Thread -1217320016 (LWP 4445)]
[Thread -1217320016 (LWP 4445) exited]
[New Thread -1217320016 (LWP 4446)]
[Thread -1217320016 (LWP 4446) exited]
[New Thread -1217320016 (LWP 4447)]
[New Thread -1225839696 (LWP 4450)]
[New Thread -1234228304 (LWP 4451)]
Pipeline is PREROLLING ...
/playbin0/decoder/id3demux0.sink: caps = application/x-id3
[New Thread -1242616912 (LWP 4452)]
ERROR: from element /playbin0/source: Internal data flow error.
Additional debug info:
gstbasesrc.c(1569): gst_base_src_loop (): /playbin0/source:
streaming task paused, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
/playbin0/decoder/id3demux0.src: caps = NULL
/playbin0/decoder/id3demux0.sink: caps = NULL
/playbin0/decoder/typefind.src: caps = NULL
[Thread -1217320016 (LWP 4447) exited]
FREEING pipeline ...
[New Thread -1217320016 (LWP 4453)]
[Thread -1217320016 (LWP 4453) exited]

Program exited normally.
Couldn't get registers: No such process.
(gdb)

Comment 14 Tim-Philipp Müller 2006-12-08 15:47:05 UTC
Thanks for all the information provided.

From the log:

<id3demux0:src> caps application/x-id3 not accepted

This looks like something we fixed ages ago (see also bug #342209). It should be fixed in gst-plugins-good 0.10.3 or later.

Are you sure you have a sufficiently recent version of gst-plugins-good installed? Have you ever compiled and installed GStreamer from source on this system?



More specifically:


 - What's the output of

      $ dpkg -l gstreamer0.10-plugins-*

   ?


  - What's the output of

      $ gst-inspect-0.10 id3demux | grep Version

    ?
Comment 15 khiraly 2006-12-11 07:55:35 UTC
Thanks Tim for the answer, and you are right:
my version of gstreamer0.10-plugins-good is just 0.10.2-1.

So I have updated (0.10.4-3), and all my problems has gone.
Sorry for this unnecessary bugreport.
(can be closed now)
Comment 16 Alex Lancaster 2006-12-11 08:08:00 UTC
Closing as per comment #15.