views:

31

answers:

1

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

+1  A: 

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: http://msdn.microsoft.com/en-us/library/dd388376(VS.85).aspx

Lorenzo
To transfer samples, the sender calls the IMemInputPin::Receive method.
Geraint Davies