PrimoBurner(tm) for C++  4.2
CD, DVD and Blu-ray Software Development Kit
TrackInfoEx Class Reference

Extended Track Information. More...

#include <PrimoBurner.h>

Inherits Reference.

List of all members.

Public Member Functions

virtual int32_t address () const =0
 Gets the address of the first block with user information (a.k.a.
virtual uint32_t freeBlocks () const =0
 Gets the maximum number of data blocks available for recording in the track.
virtual bool_t isAudio () const =0
 Indicates whether this is an audio track.
virtual bool_t isBlank () const =0
 Indicates whether the track is blank.
virtual bool_t isData () const =0
 Indicates whether this is a data track.
virtual bool_t isFixedPacket () const =0
 Indicates whether this is a fixed packet track.
virtual bool_t isLRAValid () const =0
 If isLRAValid() method returns 0, then the Last Recorded Address field is not valid.
virtual bool_t isNWAValid () const =0
 If IsNWAValid is zero, then the Next Writable Address field is not valid.
virtual bool_t isPacket () const =0
 Indicates whether the track has been written in packets.
virtual bool_t isReserved () const =0
 Indicates whether the track is reserved.
virtual int32_t lastLayerJumpAddress () const =0
 On DVD-R DL media, this is the address of the last layer jump on Layer 0.
virtual int32_t lastRecordedAddress () const =0
 The Last Recorded Address is the address of last written user data block of the specified track.
virtual int layerJumpRecordingStatus () const =0
 Gets the Layer Jump Recording status for the currently mounted medium.
virtual int32_t nextLayerJumpAddress () const =0
 On DVD-R DL media, this is the address of the next jump from Layer 0 to Layer 1 OR from Layer 1 to Layer 0 of Reserved/Invisible/Incomplete track.
virtual int32_t nextWritableAddress () const =0
 If isNWAValid method returns 1, this is the LBA of the next writable user block in the track.
virtual uint32_t packetSize () const =0
 Gets the packet size in blocks.
virtual uint32_t recordedSize () const =0
 Gets the size in blocks of the portion of the track that has been formatted or written.
virtual uint16_t sessionNumber () const =0
 Gets the session number, 1 based.
virtual uint8_t trackMode () const =0
 Gets the track mode.
virtual uint16_t trackNumber () const =0
 Gets the track number, 1 based.
virtual uint32_t trackSize () const =0
 Gets the size of the track in blocks.

Detailed Description

Extended Track Information.

See also:
Device::readTrackInfoEx

Member Function Documentation

virtual int32_t address ( ) const [pure virtual]

Gets the address of the first block with user information (a.k.a.

Logical Block Address (LBA) of the track).

Returns:
LBA
virtual uint32_t freeBlocks ( ) const [pure virtual]

Gets the maximum number of data blocks available for recording in the track.

The value returned is media type and format dependent. This field is associated with incremental recording. When formatable/rewritable media is present, this field is set to zero.

Returns:
number of free blocks available
virtual bool_t isAudio ( ) const [pure virtual]

Indicates whether this is an audio track.

Returns:
TRUE if this is an audio track, FALSE otherwise.
virtual bool_t isBlank ( ) const [pure virtual]

Indicates whether the track is blank.

Returns:
TRUE if the track is blank, FALSE otherwise.
virtual bool_t isData ( ) const [pure virtual]

Indicates whether this is a data track.

Returns:
TRUE if this is a data track, FALSE otherwise.
virtual bool_t isFixedPacket ( ) const [pure virtual]

Indicates whether this is a fixed packet track.

Returns:
TRUE if this is a fixed packet track, FALSE otherwise.
virtual bool_t isLRAValid ( ) const [pure virtual]

If isLRAValid() method returns 0, then the Last Recorded Address field is not valid.

Otherwise, the Last Recorded Address field is valid.

Returns:
TRUE if the Last Recorded Address field is valid, FALSE otherwise.
virtual bool_t isNWAValid ( ) const [pure virtual]

If IsNWAValid is zero, then the Next Writable Address field is not valid.

Otherwise the Next Writable Address field is valid. isNWAValid is zero if the track is not writable for any reason. If the disc is a formatted DVD+RW or formatting is in progress, then isNWAValid is zero.

Returns:
TRUE if the next writable address is valid, FALSE otherwise.
virtual bool_t isPacket ( ) const [pure virtual]

Indicates whether the track has been written in packets.

Returns:
TRUE if the track is written in packet mode, FALSE otherwise.
virtual bool_t isReserved ( ) const [pure virtual]

Indicates whether the track is reserved.

A reserved track is an empty track that can be written at a later time.

Returns:
TRUE if the track is reserved, FALSE otherwise.
virtual int32_t lastLayerJumpAddress ( ) const [pure virtual]

On DVD-R DL media, this is the address of the last layer jump on Layer 0.

If no layer jump has occurred in the track, this field is zero.

For all other media this field is zero.

Returns:
layer jump address or zero if not applicable.
virtual int32_t lastRecordedAddress ( ) const [pure virtual]

The Last Recorded Address is the address of last written user data block of the specified track.

It is valid for DVD-R, DVD-R DL when layerJumpRecordingStatus method returns LayerJumpRecordingStatus::NoLayerJump, DVD-RW and BD-R.

IMPORTANT: The padding blocks written by the device to complete the last ECC Block/Cluster from the track are not considered user data blocks.

Returns:
The LBA of the last written user data block.
virtual int layerJumpRecordingStatus ( ) const [pure virtual]

Gets the Layer Jump Recording status for the currently mounted medium.

See also:
LayerJumpRecordingStatus::Enum
nextLayerJumpAddress
lastLayerJumpAddress
Returns:
A value from the LayerJumpRecordingStatus enum.
virtual int32_t nextLayerJumpAddress ( ) const [pure virtual]

On DVD-R DL media, this is the address of the next jump from Layer 0 to Layer 1 OR from Layer 1 to Layer 0 of Reserved/Invisible/Incomplete track.

For all other media this field is zero.

Returns:
layer jump address or zero if not applicable.
virtual int32_t nextWritableAddress ( ) const [pure virtual]

If isNWAValid method returns 1, this is the LBA of the next writable user block in the track.

Returns:
The LBA of the next writable block.
virtual uint32_t packetSize ( ) const [pure virtual]

Gets the packet size in blocks.

This field is valid only when isFixedPacket is TRUE.

Returns:
packet size in blocks
virtual uint32_t recordedSize ( ) const [pure virtual]

Gets the size in blocks of the portion of the track that has been formatted or written.

NOTE:

DVD-R Sequential Media, DVD-RW Sequential Media: The returned value is the number of blocks that have been written.

DVD-RW Restricted Overwrite Media: The returned value is the number of blocks that have been formatted.

Returns:
recorded size in blocks
virtual uint16_t sessionNumber ( ) const [pure virtual]

Gets the session number, 1 based.

This is the number of the session which the track is part of.

Returns:
session number
virtual uint8_t trackMode ( ) const [pure virtual]

Gets the track mode.

For CD-ROM/-R/-RW this field defines the type of information in the track:

00x0b = 2 audio channels without pre-emphasis

00x1b = 2 audio channels with pre-emphasis of 50/15 ?s

10x0b = 4 audio channels without pre-emphasis

10x1b = 4 audio channels with pre-emphasis of 50/15 ?s

01x0b = Data track, recorded uninterrupted

01x1b = Data track, recorded increment

11xxb = reserved

xx0xb = digital copy prohibited

xx1xb = digital copy permitted

For DVD+R this field is 07h, indicating: data, incremental recording, copy permitted

For all other media this field is 04h, indicating: data, uninterrupted recording, no copy permissions

Returns:
track mode
virtual uint16_t trackNumber ( ) const [pure virtual]

Gets the track number, 1 based.

Returns:
track number
virtual uint32_t trackSize ( ) const [pure virtual]

Gets the size of the track in blocks.

NOTE:

DVD-R Sequential, DVD-RW Sequential Mode, DVD-RW Restricted Overwrite Media: To determine the number of the blocks actually written use the RecordedSize field.

DVD-R DL: If LayerJumpRecordingStatus ≠ NoLayerJump, this field contains the last address that is available to record user data.

Returns:
track size in blocks
 All Classes Namespaces Files Functions Variables Enumerations Enumerator