ILMIsoMux Interface

This is the interface for the LEAD ISO Multiplexer.

Data types:

IsoMux_OutputType:

typedef enum
{
   IsoMux_OutputType_Default = 0x00000000,
   IsoMux_OutputType_MP4     = 0x00000001,
   IsoMux_OutputType_PSP     = 0x00000002,
   IsoMux_OutputType_iPod    = 0x00000003,
   IsoMux_OutputType_3GP     = 0x00000004,
} IsoMux_OutputType;

Holds the output type constants.

 

Constant

Description

IsoMux_OutputType_Default

Default output type. Generate a regular ISO base file format, without tags required by any particular device.

IsoMux_OutputType_MP4

Generate a regular MP4 file.

IsoMux_OutputType_PSP

Generate a file compatible with PSP devices.

IsoMux_OutputType_iPod

Generate a file compatible with iPod, iPhone and iPad devices.

IsoMux_OutputType_3GP

Generate a 3GPP file.

 

IsoMux_OutputFlags:

typedef enum
{
   IsoMux_OutputFlags_Default  = 0x00000000,
   IsoMux_OutputFlags_FastSave = 0x00000001,
} IsoMux_OutputFlags;

Holds the output flags constants.

 

Constant

Description

IsoMux_OutputFlags_Default

Default behavior - headers are written before data. Allows for faster playback in streaming situations.

IsoMux_OutputFlags_FastSave

The data is written before the headers. Allows for faster save, but the file playback cannot start until the file is completely downloaded.

 

IsoMux_APILEVEL:

typedef enum
{
  IsoMux_APILEVEL_1 = 0,
} LMVResize_APILEVEL;
 

Constant

Description

IsoMux_APILEVEL_1

Use the defaults from the current version of the resize filter.

 

Properties:

Type

Name

Description

BSTR When "getting" a BSTR property, the memory containing the string is allocated with SysAllocString. When this string is no longer needed, free this memory by calling SysFreeString if you are working in an environment such as C or C++ that does not automatically delete the memory. VB automatically deletes the memory, so VB programmers do not need to free the memory themselves.

Title

The name used to identify the file on PSP devices. (Used only when generating PSP files).

long

OutputType

The output type, as indicated by the IsoMux_OutputType enumeration.

long

OutputFlags

Various flags, as indicated by the IsoMux_OutputFlags enumeration. Right now, the only useful flag is IsoMux_OutputFlags_FastSave, which speeds up the save.

 

Interface Methods

 

HRESULT  ResetToDefaultsEx(IsoMux_APILEVEL ApiLevel)

Parameters

IsoMux_APILEVEL ApiLevel.

Description

Resets the multiplexer to default values. The ApiLevel determines which default values to use. Current applications should set ApiLevel to IsoMux_APILEVEL_1 = 0.

The multiplexer might change in the future and have different properties or default behaviour. Calling this method ensure the filter will have the same default values as they were at the time you developed your application.

It is recommended you call ResetToDefaultsEx(IsoMux_APILEVEL_1) before you start setting properties and start calling other methods for this interface.

This method does the following:

  1. Clears the Title property

  2. Sets OutputType property to IsoMux_OutputType_Default

  3. Sets OutputFlags property to IsoMux_OutputFlags_Default

Returns

S_OK if connected, S_FALSE otherwise.

 

For more information on how the filter's properties are used, please see the Notes and Comments section of the LEAD ISO Multiplexer User Interface topic.