Messages in this thread | | | Date | Sat, 14 Oct 2000 21:29:03 -0400 (EDT) | From | Byron Stanoszek <> | Subject | CDROMPLAYTRKIND problems (as of 2.4.0-test8) |
| |
This change seems to have broken playing a track index:
3.11 Jun 12, 2000 - Jens Axboe <axboe@suse.de> -- Reinstate "correct" CDROMPLAYTRKIND
The way it's done is very bad for IDE drives (at least). In the cdrom_play_audio function in ide-cd.c, we see:
pc.c[0] = GPCMD_PLAY_AUDIO_10; put_unaligned(cpu_to_be32(lba_start), (unsigned int *) &pc.c[2]); put_unaligned(cpu_to_be16(lba_end - lba_start), (unsigned int *) &pc.c[7]);
Problem is, lba_end on most CDs is much, much higher than what 16-bits can store. Therefore, when playing audio, the CDROM stops playing tracks at every 12-minute intervals throughout the CD. Sometimes playing a track will only play the first few seconds, if the track begins right before sector 65535.
I would like to propose switching back to using the scsi CDROMPLAYTRKIND on ide drives (even though most don't support it), or choose a better method of playing a track so it'll play to the end of the cd. (Is there a 32-bit version for [length] with PLAY_AUDIO_10?)
-Byron
-- Byron Stanoszek Ph: (330) 644-3059 Systems Programmer Fax: (330) 644-8110 Commercial Timesharing Inc. Email: bstanoszek@comtime.com
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
| |