首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SampleGrabber BufferLen尺寸在C#和VB.NET中的变化

SampleGrabber BufferLen尺寸在C#和VB.NET中的变化
EN

Stack Overflow用户
提问于 2013-03-21 23:44:40
回答 2查看 596关注 0票数 0

如果从不同的编程语言调用,那么在没有设置媒体子类型的情况下,BufferLen在ISampleGrabberCB.BufferCB中的大小为什么会有所不同呢?

我有一个C#应用程序和一个VB.NET应用程序,它们都能在关闭时钟和在SampleGrabber上设置媒体子类型的情况下尽快运行一个图形。密码是一样的。在C#应用程序中,每次一个示例通过抓取器时,BufferLen的大小都是不同的(正如您所期望的)。在VB.NET应用程序中,BufferLen是一个固定不变的值。

例如,当通过图形运行1280x720视频时,VB代码中BufferLen的大小总是1,382,400 (这有点道理,因为视频解码器上的输出引脚显示的是12位NV12格式)。在C#代码中,BufferLen的大小在低值和高值之间差别很大。

有人知道为什么会这样吗?

EN

回答 2

Stack Overflow用户

发布于 2013-03-22 08:17:40

可变缓冲区长度表示您正在获得压缩视频。但我无法解释为什么会这样。有一个版本作为管理员运行吗?还是64位?

票数 0
EN

Stack Overflow用户

发布于 2013-03-22 10:35:16

问题解决了。实际上,图是不一样的:在C#应用程序中,AVI分配器直接连接到SampleGrabber;在VB应用程序中,一个意想不到的视频解码器位于两者之间。结果表明,VB代码在分解和重建图形之前正在呈现图形,这意味着已经设置了媒体子类型。感谢你们的帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15560220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档