Bonjour,
je suis sur une petite appli dont l'une des couches doit lire un flux vidéo arrivant en UDP.
J'effectue donc quelque chose d'équivalent au code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 DatagramSocket datSock = new DatagramSocket(1111); DatagramPacket dataPack; byte[] packet; do{ packet = new byte[188]; dataPack = new DatagramPacket(packet, 188); datSock.receive(dataPack); traiter(packet); }while(true);
Problème, si les packets du flux que je lis sont normalisé à 188 byte, ce n'est pas le cas des packet UDP qui vont les encapsuler qui sont plus grand. Donc en effectuant une lecture uniquement de 188 byte sur chaque paquet, je perd des données. Or je n'ai aucune idée de la taille que peuvent faire ces paquets UDP, aujourd'hui je teste mon appli en diffusant de la vidéo via VLC, mais si cela doit être un autre outil, j'imagine que la taille peut tout à fait être différente.
Donc comment puis je faire pour lire un flux vidéo en UDP sans connaitre la taille de ces paquets ?
Partager