The following code demonstrates enumerates the valid audio and video compressors for the MPEG2 target format. A recommended compressor is also retrieved.
// include the LEAD Multimedia TOOLKIT header#include "ltmm.h"void EnumMPEG2Compressors(IltmmConvert *pConvert){IltmmCompressors *pCompressors;IltmmCompressor *pCompressor;IltmmTargetFormats *pTargetformats;IltmmTargetFormat* pTargetformat;long lCount, lIndex, lValid;BSTR Name;// set the target format to MPEG2pConvert->put_TargetFormat(ltmmCapture_TargetFormat_MPEG2_PROGRAM);pConvert->get_TargetFormats(&pTargetformats);pTargetformats->Item(ltmmCapture_TargetFormat_MPEG2_PROGRAM, &pTargetformat);pTargetformats->Release();// Audio// get the compressors collectionpConvert->get_AudioCompressors(&pCompressors);pCompressors->get_Count(&lCount);for (lIndex = 0; lIndex < lCount; lIndex++){pCompressors->Item(lIndex, &pCompressor);pCompressor->get_Name(&Name);pTargetformat->IsValidCompressor(Name, &lValid);if (lValid != ltmmTargetFormat_Compressor_Invalid){// do whatever needed with the valid compressor (i.e. add it to some list)}::SysFreeString(Name);pCompressor->Release();}// get the recommended compressor for the current formatpTargetformat->get_RecommendedAudioCompressor(&Name);if (Name){// do whatever needed with the recommended compressor (i.e. select it)}pCompressors->Release();// Video// get the compressors collectionpConvert->get_VideoCompressors(&pCompressors);pCompressors->get_Count(&lCount);for (lIndex = 0; lIndex < lCount; lIndex++){pCompressors->Item(lIndex, &pCompressor);pCompressor->get_Name(&Name);pTargetformat->IsValidCompressor(Name, &lValid);if (lValid != ltmmTargetFormat_Compressor_Invalid){// do whatever needed with the valid compressor (i.e. add it to some list)}::SysFreeString(Name);pCompressor->Release();}// get the recommended compressor for the current formatpTargetformat->get_RecommendedVideoCompressor(&Name);if (Name){// do whatever needed with the recommended compressor (i.e. select it)}pCompressors->Release();pTargetformat->Release();}
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
