【发布时间】:2017-11-30 22:26:20
【问题描述】:
我正在使用 libusb 从 USB 音频设备实时获取数据。我的最大数据包大小为 196 字节。我知道为校验和添加了 4 个字节。我想识别用于校验和的字节,因此我只能存储传输的有用数据,但我有一些疑问:
1) 这些字节是添加在数据包的开头还是结尾?
2) 这些字节有保留值吗?
3) 在传输中丢失一些数据字节的情况下。对于用于校验和的字节,我应该使用哪些注意事项?
编辑 1
我有这些疑问是因为我的特定设备有一个接口和 alt 设置,它适用于 48 KHz 的采样率、2 个通道、16 位深度和 196 字节的最大数据包大小。
所以有 48 个样本 * 两个通道中的 2 个 * 2 字节 = 192 字节
所以我的数据包应该是 192 字节,但是当我将设备设置为使用该接口和 alt 设置时,我开始接收 196 字节的数据包。 OUT ISO Endpoint 的相应接口和 alt 设置以 48 KHz 的采样率、2 个通道、16 位深度和 192 字节的最大数据包大小工作。
4) 如果这些字节不是来自校验和,为什么要添加这些字节?
【问题讨论】:
-
您应该能够从协议规范中获取此信息。如果没有,则必须对其进行逆向工程。