MMIOM_MULTITRACKREAD
Appearance
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.