我尝试在 mediafoundation 中解码 ogg。现在我看到了 dshow 过滤器,但我不明白如何创建 VORBISFORMAT2
struct VORBISFORMAT2
{
unsigned long channels;
unsigned long samplesPerSec;
unsigned long bitsPerSample;
unsigned long headerSize[3]; // 0: Identification, 1: Comment, 2: CodecSetup
};
VorbisDecodeInputPin::SetMediaType(const CMediaType* inMediaType)
{
...
mVorbisDecoder.Init(reinterpret_cast<VORBISFORMAT2*>(inMediaType->pbFormat));
}
我不知道如何在 mediafoundation 中获取 inMediaType->pbFormat。或者如何使用 libvorbis 获取 VORBISFORMAT2 的标头?