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

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 may change in the future and have different properties or default behaviour. Calling this method ensures the filter will have the same default values as they were at the time you developed your application.

It is best to 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.

HRESULT  AddMarker(BSTR marker, double time, long Flags)

Parameters

BSTR marker

String indicating the text that should be added. Cannot be NULL.

double time

The position (in seconds) where the marker should be added. The marker will not be written if this value is past the end of the file.

long Flags

Reserved for future use. Pass 0.

Description

This method adds a marker to the internal list of markers. Both AddMarker and RemoveMarkers should be called before beinning a conversion. The markers are written the next time the file is written, so call this method with all of the markers added before beginning the conversion. Do not call this method while the conversion is running.

Some ISO/MP4 file players can detect this list of markers and allow the user to select one such points as a quick-seeking point. For example, when playing files with this information on iPad and iPhone devices, the seek bar allows you to go to next and previous marker points the same way a DVD player allows you to go to the next/previous chapter. The seek bar should look like the following figure:

Use this method to preserve DVD chapter information when you convert DVDs to MP4 files. Get the strings for each DVD chapter by using the ILMMetaInfo interface. See the ConvertWithMarkers demos for an example.

Returns

S_OK if success, < 0 on failure.

HRESULT RemoveMarkers();

Parameters

None

Description

Removes all of the markers previously added with the AddMarker method.

Both AddMarker and RemoveMarkers should be called before beginning a conversion. Do not call either method while the conversion is running.

Call this method prior to adding any markers for this conversion. If you do not call this method and convert two files with different marker information, the markers for the second conversion will have all the markers from previous conversion plus the markers from the current conversion.

Returns

S_OK if connected; otherwise, S_FALSE.

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Filters C API Help
Click or drag to resize