Multimedia file presentation block structures

There are two structures in the presentation block of a multimedia file:

These structures are returned by mmGetFileInfo.

FILE_INFO_BLOCK_HEADER

Identifies the block as a presentation block and contains the total size of the block.

Definition

typedef struct
{
    WORD blkSize;
    WORD blkType;
#define BLK_TYPE_PRESENTATION 1
#define BLK_TYPE_STREAM 2
} FILE_INFO_BLOCK_HEADER;

Fields

Field

Description

blkSize

Total size of the block in which this header is included, in bytes.

blkType

Identifies the block of information. Valid values are:

  • BLK_PRESENTATION - Block is a presentation block.

  • BLK_TYPE_STREAM - Block is either an audio stream block or a video stream block.

FILE_INFO_PRESENTATION

Contains presentation-level information.

Definition

typedef struct
{
FILE_INFO_BLOCK_HEADER blockHeader;
    DWORD  creationTime;
    DWORD  duration;
    WORD   streamCount;
    WORD   streams;
    DWORD  flags;
    DWORD  maxBitrate;
    DWORD  maxInterleave;
} FILE_INFO_PRESENTATION;

Fields

Field

Description

blkHeader

A pointer to the FILE_INFO_BLOCK_HEADER structure that identifies the block as a presentation block and contains the total size of the block.

creationTime

Creation date of the presentation, in seconds.

duration

Global play duration of the presentation, in seconds. Corresponds to the duration of the longest stream or track.

streamCount

Number of streams or tracks found in the file info block.

streams

Number of streams as indicated in presentation. The streams field is equal to 0 (zero), if this counter is not supported by the file format. This number can be different from the streamCount field.

flags

Reserved for future use.

maxBitrate

Reserved for future use.

maxInterleave

Maximum stream interleave depth in presentation, in milliseconds.