GNOME Bugzilla – Bug 318574
gnome-cd is unable to play CD
Last modified: 2006-04-14 13:59:54 UTC
Version details: 0.8.11 Distribution/Version: Mandriva cooker when using gstreamer backend, gnome-cd is unable to play any CD : after pressing play, it keeps displaying 0:00/0:00 and no sound is produced this is with gnome-cd 2.12.0, gstreamer and gst-plugins 0.8 CVS branch up to date (20051011) GST_DEBUG=cdparanoia:5 gnome-cd output : [a@cuba ~]$ gnome-cd --gst-debug=cdparanoia:5 DEBUG (0x8065920 - 313621:55:30.441241000) cdparanoia(22855) gstcdparanoia.c(785):cdparanoia_open:<cdparanoia> trying to open device... DEBUG (0x8065920 - 313621:55:30.606961000) cdparanoia(22855) gstcdparanoia.c(887):cdparanoia_open: successfully seek'd to beginning of disk DEBUG (0x8065920 - 313621:55:30.607346000) cdparanoia(22855) gstcdparanoia.c(895):cdparanoia_open:<cdparanoia> device successfully openend DEBUG (0x8065920 - 313621:55:30.801492000) cdparanoia(22855) gstcdparanoia.c(1110):cdparanoia_event: seeked to 4294967295 DEBUG (0x8065920 - 313621:55:30.802448000) cdparanoia(22855) gstcdparanoia.c(1123):cdparanoia_event: configured for -1 -> 223632 sectors DEBUG (0x8219ff8 - 313621:55:30.804702000) cdparanoia(22855) gstcdparanoia.c(581):cdparanoia_get:<cdparanoia> Sending flush DEBUG (0x8219ff8 - 313621:55:30.805392000) cdparanoia(22855) gstcdparanoia.c(591):cdparanoia_get:<cdparanoia> Sending discont to 0:00:00.000000000 Seek has a very strange value. If I comment gst_event_new_seek call in gst-cdparanoia-cdrom.c in gnome-cd (line 931), cd is playing correctly (without seeking, of course). gst-launch cdparanoia ! { queue ! osssink} is able to play cd without any problem.
http://cvs.freedesktop.org/gstreamer/gst-plugins/ext/cdparanoia/gstcdparanoia.c?r1=1.49.2.17&r2=1.49.2.18 Can you revert that patch and try again? It looks wrong, I have no idea why it was applied.
I confirm reverting this patch fixed the problem. The initial patch was applied to fix bug #312657 and #313209 (also reported on Mandriva as http://qa.mandriva.com/show_bug.cgi?id=16266 ). Strangely, goobox is working fine when patch is reverted.. I've also tried to revert gstcdparanoia.c to 0.8.11 version and gnome-cd is working, as well as goobox. Very strange.
correction, if I use 0.8.11 version of gstcdparanoia.c or if I revert the patch in current CVS, I get back goobox bug but gnome-cd is working
Gnome-cd does not use the same mechanism that sound-juicer, totem or goobox use. Andy, please revert the patch, it is wrong. If it fixes the bug, this bug will have to be fixed differently.
And please describe the goobox bug, I don't use goobox.
Ronald, just check bug #313209, it is goobox bug ie track info were not retrieved correctly.
Gnome-CD does not work for me neither before the patch from bug #313209 nor after.
I cannot reproduce this. gnome-cd works fine with just my patch from bug #313209 applied and with a full cvs-checkout. I can't think of a reason why my patch could be causing it. If gnome-cd works in track-mode it shouldn't bother at all (functionality is the same). If it works the old way (no track-mode) it would mean that there is something depending on get_first_sector() returning 0 in that case or even worse cdparanoia itself being unable to deliver a correct sector. But then it must happen here as well. Maybe it would help to see what is assigned to the frames-variable by frames = msf_struct_to_frames (&msf, 0) in line 929 before the seek event is sent to gstreamer.
Frederic, can you give the BRANCH-GSTREAMER-0-10 branch of gnome-media a try, together with GStreamer 0.10?
It should be noted that that branch of gnome-media requires an up-to-date gst-plugins-base from CVS (new release hopefully out by monday), otherwise playbin won't do any cd playback.
This is apparently not an urgent priority for the reporter...
Yes, it is a big priority for the reporter but he doesn't have the time to build and test software using gstreamer 0.10.x because he is also busy fixing other software...
Sorry, didn't mean to sound harsh. Just that given your other obligations, we'll lower our priority of this one until someone can get back to us. Thanks for the feedback.
Ping? :)
pong :) bug is not reproducible with gnome-cd 2.13.92.1 + gstreamer 0.10.3 (well, CVS HEAD) to be precise. Unfortunately, gst-plugins 0.8.12 which has been released last week has now this bug in it (it was only in 0.8 CVS branch before), which means gnome-cd won't work for people using 2.12 + gst-plugins 0.8.12. I've cc Ronald about that.
Jezus fucking christ. Andy, I asked to revert, then you revert. Now I have to do another release, this fucking harshly sucks. My time is very limited. Can't you guys do anything alone? :-(.
Sorry for the above, I exploded for a second. Andy, still, please revert patches when I ask you to revert them. This kind of stuff should not have been broken.
/me sends zen energy waves to BBB ;) Before doing a new release, is there a way to fix the problem so that both gnome-cd AND goobox work ? With 0.8.11, gnome-cd works but goobox doesn't. With 0.8.12, gnome-cd is broken but goobox works.
Hi Ronald, No offense taken. I'm not sure that the patch is incorrect. That said I would be fine with reverting it, only that I'm heading off on holiday in an hour :/ I'll be back for a few days on Monday the 27th, then leaving again on that Friday. I'll get to it if I have time, but if you get to it before me, that's also ok.
Frederic, yes, that is of course possible. The patch is incorrect, although the code in there is not the cleanest possible. If I remember correctly, the problem with goobox was that it needs the full CD length while opening the device (change_state() callback), and otherwise it doesn't matter because it always operates in track mode (so it would never get into the if (!src->track_mode) ... case). The correct fix/workaround would be to set track_mode to true before opening the device already, or so? I need a closer look at the code for that, but this should be logically possible.
Created attachment 60323 [details] [review] fix regression in gnome-cd AND goobox I've reverted the get_first_sector change from 0.8.12 => it fixes gnome-cd. And I've workaround goobox problem in cdparanoia_convert. With this patch, I don't have any regression in gnome-cd, sound-juicer or goobox.
Hmm, I got a report that with this patch, goobox is not working : (goobox:23848): GStreamer-CRITICAL **: gst_pad_send_event: assertion `GST_STATE (parent) >= GST_STATE_PAUSED' failed ** (goobox:23848): WARNING **: seek failed but I'm unable to reproduce this bug myself.
2006-04-14 Frederic Crozat <fcrozat@mandriva.com> Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net> * ext/cdparanoia/gstcdparanoia.c: (get_first_sector), (cdparanoia_convert): Fix no-track-mode (e.g. gnome-cd), while not breaking non-track mode applications (e.g. Goobox). Fixes #318574.