Ich verwende libusb, um Daten in Echtzeit von einem USB-Audiogerät zu erhalten. Meine maximale Paketgröße beträgt 196 Byte. Ich weiß, dass 4 dieser Bytes für die Prüfsumme hinzugefügt werden. Ich möchte die Bytes identifizieren, die für die Prüfsumme verwendet werden, so dass ich nur die nützlichen Daten der Übertragung speichern kann, aber ich habe einige Zweifel:Wie werden die Datenbytes identifiziert, die für CRC (Prüfsumme) in einem USB ISO-Transfer verwendet werden?
1) Sind diese Bytes am Anfang oder am Ende des Pakets hinzugefügt?
2) Haben diese Bytes einen reservierten Wert?
3) Bei Verlust von Datenbytes bei der Übertragung. Welche Überlegungen sollte ich für die Bytes verwenden, die für die Prüfsumme verwendet werden?
EDIT 1
Ich habe diese Zweifel, weil mein bestimmtes Gerät eine Schnittstelle und alt-Einstellung hat, die mit einer Abtastrate von 48 kHz, 2 Kanälen, 16 Bit Tiefe und mit einer Max-Paketgröße von 196 Bytes arbeitet .
So gibt es 48 Proben * 2 von zwei Kanälen * 2 Bytes = 192 Bytes
So sollen meine Pakete von 192 Bytes sein, aber wenn ich mein Gerät mit dieser Schnittstelle und alt-Einstellung, die ich anfangen zu arbeiten um Pakete von 196 Bytes zu empfangen. Die entsprechende Schnittstelle und Alt-Einstellung für den OUT ISO-Endpunkt funktioniert mit einer Abtastrate von 48 KHz, 2 Kanälen, 16 Bit Tiefe und einer maximalen Paketgröße von 192 Byte.
4) Wenn diese Bytes nicht von der Prüfsumme stammen, warum werden diese Bytes hinzugefügt?
verwenden, sollten Sie in der Lage sein, diese Informationen aus der Protokollspezifikation zu erhalten. Wenn Sie keins haben, müssen Sie es rückentwickeln. –