Bug 499266

Summary: Unable to Play Audio CDs
Product: [Fedora] Fedora Reporter: Daniel Qarras <dqarras>
Component: gvfsAssignee: Tomáš Bžatek <tbzatek>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: alexl, bnocera, s.adam, tbzatek, tsmetana
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-05-21 09:21:36 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
0001-CDDA-allow-query-well-formed-filenames-only.patch none

Description Daniel Qarras 2009-05-05 21:01:27 UTC
Description of problem:
A user is unable to play audio CDs by double-clicking them on file browser. I created a test user account to verify that this happens with Rawhide 2009-05-05:

Version-Release number of selected component (if applicable):
totem-2.26.1-2.fc11.i586

How reproducible:
Always.

Steps to Reproduce:
1. Create a test user account, log in
2. Insert an audio CD
3. Open File Browser, navigate to Audio Disc
4. Double-click Track 1.wav
5. See how Totem opens but then complains that unable to play
6. Try to locate codecs as suggested, but to no avail
  
Actual results:
No music.

Expected results:
Much music.

Additional info:
When running from command line one sees this output:

[testuser@localhost ~]$ totem
** Message: Error: A Audio CD source plugin is required to play this stream, but not installed.
gstplaybasebin.c(1537): setup_subtitle (): /GstPlayBin:play:
No URI handler to handle sub_uri: cdda://sr0/Track%201.asc

** Message: Missing plugin: gstreamer|0.10|totem|Audio CD source|urisource-cdda (Audio CD source)
** Message: PackageKit: xid = 60817411
** Message: PackageKit: Codec nice name: Audio CD source
** Message: PackageKit: non-structure: gstreamer0.10(urisource-cdda)
** Message: PackageKit: Did not install codec: failed to find: gstreamer0.10(urisource-cdda)
** Message: No installation candidate for missing plugins found.
** Message: Error: A Audio CD source plugin is required to play this stream, but not installed.
gstplaybasebin.c(1537): setup_subtitle (): /GstPlayBin:play:
No URI handler to handle sub_uri: cdda://sr0/Track%201.asc

** Message: Missing plugin: gstreamer|0.10|totem|Audio CD source|urisource-cdda (ignoring)
** Message: All missing plugins are blacklisted, doing nothing
[testuser@localhost ~]$ rpm -q --whatprovides "gstreamer0.10(urisource-cdda)"
gstreamer-plugins-base-0.10.22-2.fc11.i586
gstreamer-plugins-ugly-0.10.11-1.fc11.i586
[testuser@localhost ~]$ 


By reading other bug reports I gather that Totem might not be intented for playing Audio CDs but if so then it should not be opened by default for users.

Comment 1 Bastien Nocera 2009-05-06 10:11:07 UTC
The problem is that:
cdda://sr0/Track%201.asc

Because playing a wave file should work fine in Totem (which is what happens when double-clicking on the file). What's the output of "gvfs-ls cdda://sr0/"?

Comment 2 Daniel Qarras 2009-05-06 14:10:33 UTC
Thanks for looking into this. Output pasted below:

localhost:~> gvfs-ls cdda://sr0/
Track 1.wav
Track 2.wav
Track 3.wav
Track 4.wav
Track 5.wav
Track 6.wav
Track 7.wav
Track 8.wav
Track 9.wav
Track 10.wav
Track 11.wav

These names are the same as what File Browser shows.

Comment 3 Bastien Nocera 2009-05-07 22:48:51 UTC
This is a bug in gvfs. g_file_query_exists() on cdda://sr0/Track%201.asc succeeds, but it should obviously fail.

That probably doesn't fix the whole bug though.

Comment 4 Bastien Nocera 2009-05-07 22:53:01 UTC
Filed the gst bug as:
http://bugzilla.gnome.org/show_bug.cgi?id=581802

Comment 5 Tomáš Bžatek 2009-05-11 15:45:09 UTC
Created attachment 343472 [details]
0001-CDDA-allow-query-well-formed-filenames-only.patch

(In reply to comment #3)
> This is a bug in gvfs. g_file_query_exists() on cdda://sr0/Track%201.asc
> succeeds, but it should obviously fail.
The attached patch should fix that.

Where do we get "cdda://sr0/Track%201.asc" from and why 'asc'?

Comment 6 Bastien Nocera 2009-05-11 16:38:23 UTC
(In reply to comment #5)
> Created an attachment (id=343472) [details]
> 0001-CDDA-allow-query-well-formed-filenames-only.patch
> 
> (In reply to comment #3)
> > This is a bug in gvfs. g_file_query_exists() on cdda://sr0/Track%201.asc
> > succeeds, but it should obviously fail.
> The attached patch should fix that.
> 
> Where do we get "cdda://sr0/Track%201.asc" from and why 'asc'?  

This is one of the possible suffixes for text subtitles. If the automatic load of text subtitles is turned on, we'll try to load the ones that exist.

So for file:///foo.avi, we'll check whether file:///foo.asc, file:///foo.sub, etc. exist. gvfs wrongly reports that cdda://sr0/Track%201.asc exists, so we try to load a subtitle for the track...

Comment 7 Daniel Qarras 2009-05-21 09:21:36 UTC
I'm happy to confirm that this is fixed in gvfs-1.2.3-2.fc11.i586.

Thanks!