Search code examples
filterdirectshowtransfer

What DirectShow uses for data transfer between filters?


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


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