GNOME Bugzilla – Bug 601104
[cddabasesrc] always plays first track if device is specified
Last modified: 2009-11-10 09:05:26 UTC
The cdiocddasrc element in 0.10.25 will always play the first track from the cd if a device is specified manually. If no device is specified, the correct track is played. This is a significant problem for us in Exaile, since in order to support systems having multiple cd drives we must specify the device, so this bug renders Exaile's cd support essentially useless. Test pipelines demonstrating the issue. First one plays the wrong track, second one plays the correct one. gst-launch-0.10 cdiocddasrc track=3 device="/dev/sr0" ! decodebin ! alsasink gst-launch-0.10 cdiocddasrc track=3 ! decodebin ! alsasink And here's the Exaile bug, with confirmation of existence from multiple users across several distros (arch, ubuntu, fedora): https://bugs.launchpad.net/exaile/+bug/460535 This bug appears to be new in 0.10.25.
This checkin? http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=6781c4c9c599561a3ca2f964ef9a60b653ee710d
I take it this applies to cdparanoiasrc too? Regression, marking as blocker for next release.
Doh, apparently gst_cdda_base_src_set_device() sets the track to 1 everytime it is called. If nobody is faster I'll take a look at this later today. When fixing this the usage of the uri_track field should be investigated, looks a bit fishy ;)
commit d086c05c1f08ac37c01fb18189c8d8930ee9ce4a Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Mon Nov 9 18:11:42 2009 +0100 cddabasesrc: Add unit test for property settings Also includes a regression test for bug #601104. commit 27d4f9dca319d4e8cfd79beb9184c68c498f465f Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Mon Nov 9 18:04:23 2009 +0100 cddabasesrc: Never return a negative track number in get_uri() commit acaeed6131539facc523862e0f418f8602c6b095 Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Mon Nov 9 18:03:06 2009 +0100 cddabasesrc: Don't set the track to 1 every time a device is set Fixes bug #601104.
Ah, I should probably mention the workaround that could be used in exaile to work with all gst-plugins-base versions: Just set the device before the track number ;)