PrimoBurner(tm) for C++
4.6
CD, DVD and Blu-ray Software Development Kit
|
The MSF structure allows you to translate blocks to minute, second and frame (MSF) interval This structure should not be used to calculate the Logical Block Address. More...
Enumerations | |
enum | Enum { Empty = 0x00, Open = 0x01, Closed = 0x02 } |
DiscStatus::Enum. More... | |
The MSF structure allows you to translate blocks to minute, second and frame (MSF) interval This structure should not be used to calculate the Logical Block Address.
Use the LBA structure to translate from LBA to minute, second, frame and vice versa.
blocks = (min * 60 + sec) * 75 + frame
Returns the MSF (Min, Second and Frame) interval which corresponds to a given number of blocks.
The calculation is done according to the following formula:
// min = blocks / 60 / 75 // sec = (blocks - min*60*75) / 75 // frame = (blocks - min*60*75 - sec*75 //
The LBA structure allows you to translate logical block address to minute, second and frame (MSF) address This structure should be used to calculate the Logical Block Address only.
The following formula is used for calculating the LBA:
// lba = (min * 60 + sec) * 75 + frame // if (min < 90) lba = lba - 150 else lba = lba - 450150 //
Returns the Minute, Second, Frame address from a logical block address.
The following formula is used for calculating the minutes, seconds and frames:
// if (lba >= -150) // { // min = (lba + 150) / 60 / 75; // sec = (lba + 150 - min*60*75) / 75; // frame = (lba + 150 - min*60*75 - sec*75); // } // else if (lba >= -45150 && lba <= -151) // { // min = (lba + 450150) / 60 / 75; // sec = (lba + 450150 - min*60*75) / 75; // frame = (lba + 450150 - min*60*75 - sec*75); // } //
Disc Status
enum Enum |