bugCompact Disc Input and Control Library - Bugs: bug #38202, Unable to play audio CD from USB...


bug #38202: Unable to play audio CD from USB connected optical drive

Submitted by:  None
Submitted on:  Wed 30 Jan 2013 12:57:25 PM UTC  
Category:  None Severity:  5 - Average
Item Group:  None Status:  None
Privacy:  Public Assigned to:  None
Originator Email:  -email is unavailable- Open/Closed:  Open

Add a New Comment(Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


( Jump to the original submission)

Thu 19 Dec 2013 08:51:12 AM UTC, comment #11:

Do you use XBMC or any other software to play CD?

Hubert Miś <bearh>
Thu 19 Dec 2013 01:13:31 AM UTC, comment #10:

When you say Win32, do you mean via cygwin, mingw, or Visual C?

Does running cd-info with the or without drive name show information?

Rocky Bernstein <rocky>
Project Administrator
Wed 18 Dec 2013 11:06:50 PM UTC, comment #9:

Hi, I am trying to get this work on Win32 but it doesn't seem to work for audio CDs on external USB player.

Any suggestions?

Jeffrey Travis <altarama>
Wed 17 Apr 2013 02:25:11 PM UTC, comment #8:

Thanks for the information. Please submit a patch.

Rocky Bernstein <rocky>
Project Administrator
Wed 17 Apr 2013 02:00:54 PM UTC, comment #7:

The bug in xbmc is fixed now for GNU/Linux x86 and RaspberryPi. Both of them use driver GNU/Linux, access mode: IOCTL. Nobody reported yet if the patch works on win32 also.
I think you could apply patch to libcdio to prevent similar problem in any other program using the library.

Hubert Miś <bearh>
Mon 15 Apr 2013 12:34:47 AM UTC, comment #6:

I'm okay with moving the looping by 10 sectors from XMBC into the libcdio driver code. We do something like that for mode2 sectors in the GNU/Linux driver. See lib/driver/gnu_linux.c around line 958 http://git.savannah.gnu.org/cgit/libcdio.git/tree/lib/driver/gnu_linux.c#n958

In order to do this though, we'd need to know which access mode is used. For windows there is seems to be 3: win/nt, ASPI and ioctl. I think ioctl is the most used, but cd-info reports this information. For example on GNU/Linux:

CD location : /dev/sr0
CD driver name: GNU/Linux
access mode: IOCTL

Care to send a patch?

Rocky Bernstein <rocky>
Project Administrator
Mon 08 Apr 2013 07:51:13 PM UTC, comment #5:

There is a problem with "cdio_read_audio_sectors" function. When it reads more than about 10 sectors at once with USB drive it returns an error. When XBMC is modified to read less than 10 sectors at once it reads audio CD with USB drive. I'm not sure if bug is in libcdio.

Hubert Miś <bearh>
Sat 23 Mar 2013 05:02:03 PM UTC, comment #4:

I got the same problem on with an Asus SBC-06D2X-U USB drive in XBMC 12.1 on Windows Server 2012 - and actually I lack the expertise to compile the dll :( Would it be possible to receive an compiled dll to test? Kind regards and thank you for your time!

Jens <jeho>
Fri 01 Feb 2013 11:25:56 AM UTC, comment #3:

Get the libcdio source code. Look at examples/drives.c.
Compile it and run it with a CD-DA disk in the drive.

Save and send that output. Also giving some other evidence using some other command that indicates it finds a CD-ROM drive with a CD-DA disk.

That's the basic idea. But to be more helpful, in examples/drives.c change the subroutine log_hander() to print all debug and info messages. Also you can remove the last to C statements and from main() before the final "return 0" since those look for kinds of drives other than CD-DA which isn't necessary here..

Rocky Bernstein <rocky>
Project Administrator
Fri 01 Feb 2013 10:08:31 AM UTC, comment #2:

Hi, I'm the guy who opened the error on the XBMC bug tracker.
What can I do to help you? What kind of logs do you need?

Patrice <patatra>
Thu 31 Jan 2013 02:17:55 AM UTC, comment #1:

Okay, I have lookeda thte XMBC error report. But I can't go with something as vague as:

The word around is that libcdio is the culprit as it doesn't handle USB optical drives correctly (Audio CDs at least).

I suggest writing some short piece of code give more concrete evidence. For example compile examples/drives.c change log_hander to print all debug and info messages and probably removing the last to statement of main before return 0.

Rocky Bernstein <rocky>
Project Administrator
Wed 30 Jan 2013 12:57:25 PM UTC, original submission:

On XBMC bug tracker there is az error report: http://trac.xbmc.org/ticket/13415 XBMC developers said this occurs because a bug in libcdio. Please take a look at this!



(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by altarama (Posted a comment)
  • -email is unavailable- added by bearh (Posted a comment)
  • -email is unavailable- added by jeho (Posted a comment)
  • -email is unavailable- added by jeho
  • -email is unavailable- added by patatra (Posted a comment)
  • -email is unavailable- added by rocky (Posted a comment)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    Follows 1 latest change.

    Date Changed by Updated Field Previous Value => Replaced by
    2013-03-23 jeho Carbon-Copy- => Added jeho

    Back to the top

    Powered by Savane 3.4