Question

What does DirectShow use for data transfer between filters? (pipes or what)

Was it helpful?

Solution

DirectShow handles data chunks in "media samples", which are simply buffers, implemented through the IMediaSample COM interface. To allocate samples is used a COM-based memory manager, the IMemAllocator interface, that should be implement by filters. To transfer samples is used the method IMemAllocator::GetBuffer.

Fully documented there: Data Flow in the Filter Graph

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top