This is the interface for the LEAD ISO Multiplexer.
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. |
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. |
typedef enum
{
IsoMux_APILEVEL_1 = 0,
} IsoMux_APILEVEL;
Constant |
Description |
IsoMux_APILEVEL_1 |
Use the defaults from the current version of the resize filter. |
Type |
Name |
Description |
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. |
IsoMux_APILEVEL ApiLevel.
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
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.
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. |
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.
S_OK if success, < 0 on failure.
None
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.
S_OK if connected; otherwise, S_FALSE.