Direct access to the underlying DirectShow audio and video compression filters can be accomplished through the IltmmObjectWrapper interface. Accessing the interface directly makes it possible to programmatically manipulate an individual compressor's properties. Please consult the individual compression filter's documentation to determine the capabilities of that filter.
For example, suppose you wanted to access a particular compressor in the ltmmConvert object. Perform the following steps to access it directly:
IltmmCompressors* pCompressors;
convert->get_VideoCompressors(&pCompressors); // get the video compressor collection
IltmmCompressor* pCompressor;
long index;
pCompressors->get_Selection (&index); // get the index of the selected compressor
pCompressors->Item(index, &pCompressor); // get the compressor
pCompressors->Release(); // do not need the collection anymore
IltmmObjectWrapper* pWrapper;
pCompressor->QueryInterface(IID_IltmmObjectWrapper, (void**) &pWrapper); // get the wrapper interface
pCompressor->Release(); // do not need this anymore
IUnknown* pObject;
pWrapper->GetWrappedObject(&pObject); // get the DirectShow filter
pWrapper->Release(); // do not need this anymore
The pObject now contains the IUnknown interface pointer to the filter. Use this interface pointer to access all interfaces that the compressor implements.
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