Jump to content

MMIOM_MULTITRACKREAD

From EDM2

The MMIOM_MULTITRACKREAD message is sent to a Multimedia I/O (MMIO) procedure to request that interleaved or linear data blocks be read simultaneously from one or more tracks of a multi-track media file (such as a digital movie or a multi-channel audio format).

Syntax

mmioSendMessage(hmmio, MMIOM_MULTITRACKREAD, (LONG)pMultiTrackRead, lParam2)

Parameters

pmmioinfo (PMMIOINFO)
A pointer to an MMIOINFO data structure maintaining the current state of the open file.
usMsg (USHORT)
The message identifier, set to `MMIOM_MULTITRACKREAD`.
lParam1 (LONG)
A pointer to an MMMULTITRACKREAD structure specifying the target track configurations, destination buffers, and sample-seeking boundary ranges.
lParam2 (LONG)
This parameter is not used.

Return Value

rc (ULONG)
Return codes indicating success or failure:
  • MMIO_SUCCESS: The requested track data blocks were parsed and read successfully into the provided buffers.
  • MMIO_ERROR: An error occurred during the multi-track extraction process, or the track layouts are corrupted.

Remarks

  • **Data Interleaving Handling**: In complex container file wrappers (like AVI or QuickTime), video streams, main audio channels, and localized subtitle tracks are often multiplexed together inside a single storage sequence. Custom I/O procedures use this message to efficiently separate and demux these components out into distinct memory frames in a single pass.
  • **Documentation Typo Note**: The original OS/2 reference manual contains a copy-paste description artifact for `MMIO_SUCCESS`, erroneously stating that "The association is completed successfully". This message does not establish data associations; its true programmatic purpose is to coordinate parallel or interleaved chunk extraction across multi-track file payloads.

Related Functions

Related Messages