UVC特定类请求get cur返回长度是26或者是34的是什么?
2021-05-11
1058
0
从返回的长度来看,你应该是在应用打开摄像头,进行视频格式及图形分辨率协商返回的数据长度.
UVC视频流接口这两个特别重要的选择子,分别用于协商过程和提交数据格式,让固件开始发送数据。
Control | Selector Value |
---|---|
VS_PROBE_CONTROL | 0x01 |
VS_COMMIT_CONTROL | 0x02 |
那么为什么get cur 返回长度是不一样的呢?
至于数据的长度其实不光有26字节,也有的是34的字节,其实也有一个是48字节。
这是因为不同的UVC规范版本不同引起的。
UVC版本 | 长度 |
---|---|
UVC1.0 | 26 |
UVC1.1 | 34 |
UVC1.5 | 48 |
Linux关于UVC版本的代码
static size_t uvc_video_ctrl_size(struct uvc_streaming *stream)
{
/*
* Return the size of the video probe and commit controls, which depends
* on the protocol version.
*/
if (stream->dev->uvc_version < 0x0110)
return 26;
else if (stream->dev->uvc_version < 0x0150)
return 34;
else
return 48;
}
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936