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
2010-06-15 19:42:45
To transfer samples, the sender calls the IMemInputPin::Receive method.
Geraint Davies
2010-06-16 09:42:22