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 601104 - [cddabasesrc] always plays first track if device is specified
[cddabasesrc] always plays first track if device is specified
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.25
Other Linux
: Normal blocker
: 0.10.26
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-11-07 19:27 UTC by Aren Olson
Modified: 2009-11-10 09:05 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Aren Olson 2009-11-07 19:27:29 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.
Comment 2 Tim-Philipp Müller 2009-11-09 09:13:23 UTC
I take it this applies to cdparanoiasrc too?

Regression, marking as blocker for next release.
Comment 3 Sebastian Dröge (slomo) 2009-11-09 11:04:22 UTC
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 ;)
Comment 4 Sebastian Dröge (slomo) 2009-11-09 17:12:39 UTC
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.
Comment 5 Sebastian Dröge (slomo) 2009-11-10 09:05:26 UTC
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 ;)