Subject: Re: VCD playback working at all on i386 1.6.1?
To: Todd Vierling <tv@pobox.com>
From: Frederick Bruckman <fredb@immanent.net>
List: tech-pkg
Date: 05/31/2003 09:56:02
On Sat, 31 May 2003, Todd Vierling wrote:

> On Sat, 31 May 2003, Frederick Bruckman wrote:
>
> : I get the same thing with "/dev/cdrom" symlinked to "/dev/rcd0a", but
> : it does work fine when symlinked to "rcd0d"!
>
> No difference here.  I also get check conditions using rcd0d, identical to
> the previous:
>
> cd0(pciide0:1:0):  Check Condition on CDB: 0x43 02 00 00 00 00 03 00 0c 00
>     SENSE KEY:  Illegal Request
>      ASC/ASCQ:  Illegal Field in CDB

I wish I knew what that meant. Does the CD-ROM drive work under NetBSD
generally; can you rip audio with cdparanoia, or burn with cdrdao? How
about "mplayer cdda://" (with an audio CD)?

This is what you normally get, by the way, any time you access the
CDROM under NetBSD:

    cd0(pciide0:1:0): illegal request, data = 00 00 00 00 21 00 00 00 00 00
    cd0: dos partition I/O error

It's the kernel looking for MSDOS partitions, in the i386 MD disklabel
code... but you're not even getting that far?

> My runtime output looks a lot like yours, with the difference here:
>
> : track 01:  adr=1  ctrl=6  format=2  00:02:00
> : track 02:  adr=1  ctrl=6  format=2  00:08:00
> : track 03:  adr=1  ctrl=6  format=2  36:03:60
> : scsi command failed: status 3 error 0
> : MPEG-PS file format detected.
>
> All I get, using rcd0d, is a stream of ~20 "scsi command failed: status 3
> error 0", along with a single check condition message above; then the
> decoder exits.  I never get to the "MPEG ... format detected" message.

Are you still getting the "ioctl dif1:" message with "rcd0d", as below
(from your first post)...

    Playing /dev/cdrom
    track 01:  adr=1  ctrl=4  format=2  00:02:00
    track 02:  adr=1  ctrl=4  format=2  00:21:15
    ioctl dif1: Invalid argument
    SCIOCCOMMAND: Inappropriate ioctl for device
    SCIOCCOMMAND: Inappropriate ioctl for device

...or was that just from using "rcd0a" instead of "rcd0d"?

> Note that I originally tried with a known good NTSC VCD, which has slightly
> different track TOC entries from the above.  Since your "good" output used a
> NTSC SVCD, I retried with a similar known good disc and still no go.

I can play VCD's, too. It looks like you're losing way ahead of the
fork in the code path where that would make a difference. That's why I
asked about other software that uses the CDIOREAD* ioctl()'s. Even
mplayer's cdda:// handling uses a completely different code path.

> Perhaps there's something in your newer mplayer patches that fixes this;
> something that isn't in pkgsrc?

It could be. There was a lot of churn in that area in the past few
months of this year, and the newest package I have (that I know it
worked on), was 0.90rc13 built against 1.6.1_STABLE, in January. I
understand that the last few release candidates, and the final, are
snapshots of an off-internet repository to which pull-ups were made,
so it's quite possible that something got botched.

> (For cases like yours where turning off
> extras is important for speed, I try to change CONFIGURE_ARGS in pkgsrc
> locally, to ensure I'm still otherwise using the "maintained" version of a
> package.  My /usr/local is very close to empty.)

Well, someone has to be the pioneer, and a number of the programs you
need to create VCD's and SVCD's aren't even packaged yet, so I started
a new heirarchy for the whole adventure.

Frederick