Bonjour à tous. Je suis sur la confection d'un driver de camera en usb, sous linux 2.4.20-8 et je me pose la question suivante :
Je dois récupérer une image 1024*1024 ... en unsigned int, soit une taille totale de 1024*1024*4 = 4194304 octets. Je précise que je ne cherche pas à faire un flux continue, je veux juste récupérer une image.
Sachant que le endpoint iso de ma caméra possède un wMaxPacketSize de 644, je dois donc faire passer 4194304/644 = 6512 packets entiers (plus 1 non entier).
Je vais donc créer mon URB et le soumettre ... mais je me demandais s'il fallait que je soumette :
- un seul urb, donc le transfert_buffer fait 4194304 octets et le number_of_packets fait 6513 (auquel cas le core gèrerait tout seul le fait d'avancer dans le buffer et d'y copier au fur et à mesure les octets du endpoint ... est-ce le cas ???)
- ou 6513 URB's ... tous attachés les uns aux autres par le next, et dont le transfert_buffer fait 644 octets et le number_of_packets fait 1. Ce serait alors à moi de récupérer les octets situés dans chacun des urb.
Je passe peut-etre à coté d'une notion évidente mais entre toutes ces docs, je me suis un peu perdu. Si certains ont la réponse, cela m'arrangerai énormément. Merci d'avance à tous !