CDROMPLAYTRKIND problems (as of 2.4.0-test8)

From: Byron Stanoszek (gandalf@winds.org)
Date: Sat Oct 14 2000 - 20:29:03 EST


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/



This archive was generated by hypermail 2b29 : Sun Oct 15 2000 - 21:00:27 EST