ILTESWriter Interface

This is the interface for the LEAD Elementary Stream Writer filter.

Use this interface to control how the LEAD Elementary Stream Writer filter will split the source file. The filter has the ability to split the source into a fixed number of output files, or specify the duration for each output file.

 

Data Types:

typedef enum eLTESWriter_ApiLevel
{
   eLTESWriter_ApiLevel_1 = 0
} eLTESWriter_ApiLevel;

Lists the valid values for the ApiLevel parameter that can be passed to the ResetToDefaultsEx method.

typedef enum eLTESWriter_ClipMethod
{
   eLTESWriter_ClipMethod_None = 0, //Do not split the source file.
eLTESWriter_ClipMethod_Duration = ( eLTESWriter_ClipMethod_None + 1 ) , // Split the source file into a variable number of output files based on the desired length of each file.
eLTESWriter_ClipMethod_Count = ( eLTESWriter_ClipMethod_Duration + 1 ) // Split the source file into a fixed number of output files.
} eLTESWriter_ClipMethod;

Lists the valid values for the VideoClipMethod Property.

typedef enum eLTESWriter_TargetFormat
{
eLTESWriter_TargetFormat_Undefined = -1,
eLTESWriter_TargetFormat_Avi = ( eLTESWriter_TargetFormat_Undefined + 1 ) ,
eLTESWriter_TargetFormat_Asf = ( eLTESWriter_TargetFormat_Avi + 1 ) ,
eLTESWriter_TargetFormat_WMV = eLTESWriter_TargetFormat_Asf,
eLTESWriter_TargetFormat_WAVE = ( eLTESWriter_TargetFormat_Asf + 1 ) ,
eLTESWriter_TargetFormat_MPEG1Audio = ( eLTESWriter_TargetFormat_WAVE + 1 ) ,
eLTESWriter_TargetFormat_DICOM = ( eLTESWriter_TargetFormat_MPEG1Audio + 1 ) ,
eLTESWriter_TargetFormat_dvsd = ( eLTESWriter_TargetFormat_DICOM + 1 ) ,
eLTESWriter_TargetFormat_MP3 = ( eLTESWriter_TargetFormat_dvsd + 1 ) ,
eLTESWriter_TargetFormat_dvsd_Avi = ( eLTESWriter_TargetFormat_MP3 + 1 ) ,
eLTESWriter_TargetFormat_Asf_Compressor_Mux = ( eLTESWriter_TargetFormat_dvsd_Avi + 1 ) ,
eLTESWriter_TargetFormat_WMV_Mux = eLTESWriter_TargetFormat_Asf_Compressor_Mux,
eLTESWriter_TargetFormat_Asf_Mux = ( eLTESWriter_TargetFormat_Asf_Compressor_Mux + 1 ) ,
eLTESWriter_TargetFormat_Still_Image = ( eLTESWriter_TargetFormat_Asf_Mux + 1 ) ,
eLTESWriter_TargetFormat_Stream = ( eLTESWriter_TargetFormat_Still_Image + 1 ) ,
eLTESWriter_TargetFormat_OGG = ( eLTESWriter_TargetFormat_Stream + 1 ) ,
eLTESWriter_TargetFormat_dvsd_OGG = ( eLTESWriter_TargetFormat_OGG + 1 ) ,
eLTESWriter_TargetFormat_MPEG1System = ( eLTESWriter_TargetFormat_dvsd_OGG + 1 ) ,
eLTESWriter_TargetFormat_MPEG2_PROGRAM = ( eLTESWriter_TargetFormat_MPEG1System + 1 ) ,
eLTESWriter_TargetFormat_MP3_LEAD = ( eLTESWriter_TargetFormat_MPEG2_PROGRAM + 1 ) ,
eLTESWriter_TargetFormat_DVD = ( eLTESWriter_TargetFormat_MP3_LEAD + 1 ) ,
eLTESWriter_TargetFormat_NET = ( eLTESWriter_TargetFormat_DVD + 1 ) ,
eLTESWriter_TargetFormat_MPEG2_DICOM = ( eLTESWriter_TargetFormat_NET + 1 ) ,
eLTESWriter_TargetFormat_ISO = ( eLTESWriter_TargetFormat_MPEG2_DICOM + 1 ) ,
eLTESWriter_TargetFormat_MP3_LAME = ( eLTESWriter_TargetFormat_ISO + 1 ) ,
eLTESWriter_TargetFormat_MP3_DEFAULT = ( eLTESWriter_TargetFormat_MP3_LAME + 1 ) ,
eLTESWriter_TargetFormat_MPEG2_TRANSPORT = ( eLTESWriter_TargetFormat_MP3_DEFAULT + 1 ) ,
eLTESWriter_TargetFormat_FLV = ( eLTESWriter_TargetFormat_MPEG2_TRANSPORT + 1 ) ,
eLTESWriter_TargetFormat_FLV_H263 = ( eLTESWriter_TargetFormat_FLV + 1 ) ,
eLTESWriter_TargetFormat_FLV_H264 = ( eLTESWriter_TargetFormat_FLV_H263 + 1 ) ,
eLTESWriter_TargetFormat_DVR_PROGRAM = ( eLTESWriter_TargetFormat_FLV_H264 + 1 ) ,
eLTESWriter_TargetFormat_DVR_TRANSPORT = ( eLTESWriter_TargetFormat_DVR_PROGRAM + 1 ) ,
eLTESWriter_TargetFormat_DVR = ( eLTESWriter_TargetFormat_DVR_TRANSPORT + 1 ) ,
eLTESWriter_TargetFormat_MXF = ( eLTESWriter_TargetFormat_DVR + 1 ) ,
eLTESWriter_TargetFormat_dvsd_MXF = ( eLTESWriter_TargetFormat_MXF + 1 ) ,
eLTESWriter_TargetFormat_MKV = ( eLTESWriter_TargetFormat_dvsd_MXF + 1 ) ,
eLTESWriter_TargetFormat_FLV_H264_2 = ( eLTESWriter_TargetFormat_MKV + 1 ) ,
eLTESWriter_TargetFormat_NULL = ( eLTESWriter_TargetFormat_FLV_H264_2 + 1 ) ,
eLTESWriter_TargetFormat_SSF = ( eLTESWriter_TargetFormat_NULL + 1 ) ,
eLTESWriter_TargetFormat_LTES = ( eLTESWriter_TargetFormat_SSF + 1 )
} eLTESWriter_TargetFormat;

Lists the valid values for the TargetFormat Property.

Interface Properties:

Type

Name

Description

eLTESWriter_ClipMethod

VideoClipMethod

The 'eLTESWriter_ClipMethod' the filter should use when splitting the source file. The default is none.

DOUBLE

VideoClipDuration

The duration of each output file when the VideoClipMethod is set to 'eLTESWriter_ClipMethod_Duration'. The default is 60.0 seconds.

LONG

VideoClipCount

The number of output files when the VideoClipMethod is set to 'eLTESWriter_ClipMethod_Count' The default is 2.

eLTESWriter_TargetFormat

TargetFormat

The final output format to be used when the split files are merged back together.

 

Interface Methods:

HRESULT  ResetToDefaultsEx(eLTESWriter_ApiLevel ApiLevel)

Parameters

ApiLevel

Specifies which defaults should be used by the filter.

Description

Resets the filter to default values. The ApiLevel parameter determines which default values to use. Current applications should set ApiLevel to eLTESWriter_ApiLevel_1 = 0.

The filter might change in the future and have different properties or default behaviour. Calling this method ensures future versions of the filter will behave the same way as when you developed your application.

It is best to call ResetToDefaultsEx(eLTESWriter_ApiLevel_1) before you start setting properties and start calling other methods for this interface.

Returns

S_OK if successful, < 0 if an error occurred.

Common error codes:

E_INVALIDARG

The ApiLevel parameter is invalid

 

HRESULT  CommitSettings()

Description

Saves the current encoder settings as the default settings.

Returns

S_OK - Success

< 0 - An error occurred writing to the registry. The error is constructed using the HRESULT_FROM_WIN32 macro, so it has the form 0x8007XXXX, where XXXX is the Windows error code of the failed registry operation. Please consult the Windows documentation for information on the Windows error codes.