WebM Splitter Filter

最近在看Xiph.org的源码,学习如何解析webm视频格式以及开发对应的directshow filter。发现一个问题,在源码包里无论是自己编译,还是用Xiph编译好的WebM Splitter Filter都无法正常工作,VS2010定位到音频部分,发现parser在解析vorbis音频时候,并没有正确读出音频的channel条数。

复制代码
 1 BYTE AudioStream::GetChannels() const
 2 {
 3     const AudioTrack* const pTrack = static_cast<const AudioTrack*>(m_pTrack);
 4 
 5     const __int64 channels = pTrack->GetChannels();
 6     assert(channels > 0);
 7     assert(channels <= 255);
 8 
 9     const BYTE result = static_cast<BYTE>(channels);
10     return result;
11 }
复制代码

音频parser解析部分的源码很大,就不全部列出来了,有兴趣的童鞋可以帮我看看问题出在那。

这个是我在vs2010工程里面调试的结果,我在工程里跟踪channels结果是:0(channel怎么可能是0呢...),我用的webm视频文件是从http://www.webmfiles.org/demo-files/下载的,我想问题应该不会出在我的webm视频文件的上面,再说我用mediainfo查看了视频文件,的确存在一条音轨。

目前纠结中,难道是源码里解析音频部门的bug?

Xiph的官网是:http://xiph.org/

 
标签: webmdirectshowc++
原文地址:https://www.cnblogs.com/Leo_wl/p/2483573.html