Jump to content

MMIOM_MULTITRACKWRITE

From EDM2

The MMIOM_MULTITRACKWRITE message is sent to a Multimedia I/O (MMIO) procedure to request that raw media data from one or more individual memory tracks be bundled, formatted, and written into a multi-track target file structure.

Syntax

mmioSendMessage(hmmio, MMIOM_MULTITRACKWRITE, (LONG)pMultiTrackWrite, 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_MULTITRACKWRITE`.
lParam1 (LONG)
A pointer to an MMMULTITRACKWRITE structure containing references to individual track buffers, sample sizes, track IDs, and write layout rules.
lParam2 (LONG)
This parameter is not used.

Return Value

rc (ULONG)
Return codes indicating success or failure:
  • MMIO_SUCCESS: The requested multi-track data blocks were written and encoded into the destination file.
  • MMIO_ERROR: An error occurred during the multi-track serialization or file-writing sequence.

Remarks

  • **Automatic Data Interleaving**: The core responsibility of the I/O procedure when executing this message is to handle the complex task of multiplexing (muxing). The code takes independent linear streams (e.g., raw PCM audio and uncompressed video frames) and interleaves them chronologically into structured chunks appropriate for container specifications like RIFF AVI.
  • **Documentation Typo Note**: Mirroring its reading counterpart, the original OS/2 reference text contains an inherited copy-paste typo for `MMIO_SUCCESS`, noting that "The association is completed successfully". Programmatically, this message handles active data streaming and block interleaving rather than managing digital handle associations.

Related Functions

Related Messages