最近在给客户做一个修改摄像头数据的工具,在通过dshow接口发送扩展命令的时候发现0x01-0x19命令都可以发送成功,0x20及以上定义的命令都发送失败,并且返回错误码0x80070490。
谷歌百度查了很久终于在windows官网文档中找到了答案:
dshow是通过windows通用视频类驱动控制摄像头的,而该驱动把单个扩展单元命令个数限制在31个,即最多支持0x01-0x19命令。
所以大家如果私有命令过多,可以多建几个扩展单元。
还有就是这个限制只有windows,在linux上面没有这个限制。