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/

posted @ 2012-05-04 14:54  汤豆豆  阅读(1241)  评论(0编辑  收藏  举报