[Speex-dev] Connecting Speex DirectShow encoder and decoder

Eddie Sullivan
Tue, 28 Jun 2011 17:06:17 -0000

Hi all.
I've started doing some development using the Speex DirectShow filters,
and I'm a little confused by one point: The output of the encoder
doesn't
match up with the input of the encoder. The format that the encoder
produces is not the same as the format that the decoder accepts.

An easy way to verify this is to run the GraphEdit program that comes with
the Windows SDK. You can create a graph with both an encoder and a
decoder. Then when you try to connect them together, an error pops up that
says, in part, "These filters cannot agree on a connection."

To be specific, the encoder says it produces media type MEDIATYPE_Audio
with subtype MEDIASUBTYPE_Speex and formattype FORMAT_Speex, while the
decoder says it accepts media type MEDIATYPE_OggPacketStream with subtype
MEDIASUBTYPE_None and formattype FORMAT_OggIdentHeader.

Why do these two filters use two different formats? And where does all
this OGG stuff come from?

Thanks.
-Eddie