CDROMPLAYTRKIND problems (as of 2.4.0-test8)

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

  • Next message: Leigh Orf: "Re: ide-scsi + /dev/dsp == solid lockup"

    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 : Sat Oct 14 2000 - 21:33:05 EDT