title
Products            Buy            Support Forum            Professional            About            Codec Central
 
Results 1 to 15 of 82

Thread: dBpoweramp Release 13.1

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #31
    dBpoweramp Guru
    Join Date
    Sep 2006
    Posts
    1,173

    Re: dBpoweramp Release 13.1

    Quote Originally Posted by bhoar View Post
    So...if dbpoweramp is relying on these numbers, may I suggest that they not be relied upon for firewire drives (BusType=3) and that, instead, these drives be clamped down to IO values along the lines of what MaximumTransferLength=32768 and MaximumPhysicalPages=9 would dictate. And perhaps the same rule should be enforced for USB (BusType=7) if we find any USB controllers that are also misbehaving.

    ...

    PS - Also, on a related note...firewire devices return an AlignmentMask value of 3 (which reinforces the 8-byte alignment case discussed previously). Direct-attached ATA devices typically return a less strict value of 1 (2-byte alignment). USB devices are the least strict of all, with an AlignmentMask value of 0, at least on my machine, though I doubt anyone really expects IO to work to odd memory addresses...
    Two corrections to my post above.

    1. Firewire is bustype 4, not bustype 3, my error above. So, my recommended 32KB restrictions would be on bustypes 4 and 7 (firewire and USB) not 3 and 7. Note also that 32KB is exactly the recommended buffer size for DVD reads due to the user data+EC data mixing algorithm (unless falling back to re-read bad sectors one at a time) so it's a good catch all mid-size and high-compatibility buffer size when dealing with optical drives.

    2. An alignment mask of 3 means 4-byte aligned, not 8-byte aligned. Of course, there's nothing wrong with being more strict and until the most recent 13.1 code fix, the code was only 2-byte aligned so it needed fixing anyway. From past discussions with spoon, I believe he's now 4KB-aligned or 64KB-aligned all buffers, which covers all cases anyway and 64KB-aligned is especially good in order to avoid issues with chains that fail when transitioning 64KB boundaries.

    -brendan
    Last edited by bhoar; 09-10-2008 at 12:17 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •