PrimoBurner(tm) for C++  4.7
CD, DVD and Blu-ray Software Development Kit
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Pages
TrackInfoEx Class Referenceabstract

Extended Track Information. More...

#include <PrimoBurnerAPI.h>

Inherits Reference.

Public Member Functions

virtual int32_t address () const =0
 Gets the address of the first block with user information (a.k.a. More...
 
virtual uint32_t freeBlocks () const =0
 Gets the maximum number of data blocks available for recording in the track. More...
 
virtual bool_t isAudio () const =0
 Indicates whether this is an audio track. More...
 
virtual bool_t isBlank () const =0
 Indicates whether the track is blank. More...
 
virtual bool_t isData () const =0
 Indicates whether this is a data track. More...
 
virtual bool_t isFixedPacket () const =0
 Indicates whether this is a fixed packet track. More...
 
virtual bool_t isLRAValid () const =0
 If isLRAValid() method returns 0, then the Last Recorded Address field is not valid. More...
 
virtual bool_t isNWAValid () const =0
 If IsNWAValid is zero, then the Next Writable Address field is not valid. More...
 
virtual bool_t isPacket () const =0
 Indicates whether the track has been written in packets. More...
 
virtual bool_t isReserved () const =0
 Indicates whether the track is reserved. More...
 
virtual int32_t lastLayerJumpAddress () const =0
 On DVD-R DL media, this is the address of the last layer jump on Layer 0. More...
 
virtual int32_t lastRecordedAddress () const =0
 The Last Recorded Address is the address of last written user data block of the specified track. More...
 
virtual int layerJumpRecordingStatus () const =0
 Gets the Layer Jump Recording status for the currently mounted medium. More...
 
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. More...
 
virtual int32_t nextWritableAddress () const =0
 If isNWAValid method returns 1, this is the LBA of the next writable user block in the track. More...
 
virtual uint32_t packetSize () const =0
 Gets the packet size in blocks. More...
 
virtual uint32_t recordedSize () const =0
 Gets the size in blocks of the portion of the track that has been formatted or written. More...
 
virtual uint16_t sessionNumber () const =0
 Gets the session number, 1 based. More...
 
virtual uint8_t trackMode () const =0
 Gets the track mode. More...
 
virtual uint16_t trackNumber () const =0
 Gets the track number, 1 based. More...
 
virtual uint32_t trackSize () const =0
 Gets the size of the track in blocks. More...
 
- Public Member Functions inherited from Reference
virtual int32_t release () const =0
 Releases the instance. More...
 
virtual int32_t retain () const =0
 Retains the instance. More...
 
virtual int32_t retainCount () const =0
 Returns the current reference count. More...
 

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