The following code demonstrates enumerates the valid audio and video compressors for the MPEG2 target format. A recommended compressor is also retrieved.
void EnumMPEG2CompressorsExample (IltmmConvert *pConvert){IltmmCompressors *pCompressors;IltmmCompressor *pCompressor;IltmmTargetFormats *pTargetformats;IltmmTargetFormat* pTargetformat;long lCount, lIndex;BSTR Name;/* set the target format to MPEG2 */IltmmConvert_put_TargetFormat(pConvert, ltmmCapture_TargetFormat_MPEG2_PROGRAM);IltmmConvert_get_TargetFormats(pConvert, &pTargetformats);IltmmTargetFormats_Item(pTargetformats, ltmmCapture_TargetFormat_MPEG2_PROGRAM, &pTargetformat);IUnknown_Release(pTargetformats);/* Audio *//* get the compressors collection */IltmmConvert_get_AudioCompressors(pConvert, &pCompressors);IltmmCompressors_get_Count(pCompressors, &lCount);for(lIndex = 0; lIndex < lCount; lIndex++){long lValid;IltmmCompressors_Item(pCompressors, lIndex, &pCompressor);IltmmCompressor_get_Name(pCompressor, &Name);IltmmTargetFormat_IsValidCompressor(pTargetformat, Name, &lValid);if( lValid != ltmmTargetFormat_Compressor_Invalid ){// do whatever needed with the valid compressor (i.e. add it to some list)}SysFreeString(Name);IUnknown_Release(pCompressor);}// get the recommended compressor for the current formatIltmmTargetFormat_get_RecommendedAudioCompressor(pTargetformat, &Name);if( Name ){// do whatever needed with the recommended compressor (i.e. select it)}IUnknown_Release(pCompressors);/*Video*//* get the compressors collection */IltmmConvert_get_VideoCompressors(pConvert, &pCompressors);IltmmCompressors_get_Count(pCompressors, &lCount);for(lIndex = 0; lIndex < lCount; lIndex++){long lValid;IltmmCompressors_Item(pCompressors, lIndex, &pCompressor);IltmmCompressor_get_Name(pCompressor, &Name);IltmmTargetFormat_IsValidCompressor(pTargetformat, Name, &lValid);if( lValid != ltmmTargetFormat_Compressor_Invalid ){// do whatever needed with the valid compressor (i.e. add it to some list)}SysFreeString(Name);IUnknown_Release(pCompressor);}// get the recommended compressor for the current formatIltmmTargetFormat_get_RecommendedVideoCompressor(pTargetformat, &Name);if( Name ){// do whatever needed with the recommended compressor (i.e. select it)}IUnknown_Release(pCompressors);IUnknown_Release(pTargetformat);}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
