1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-28 20:53:54 +02:00
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2011-11-09 03:51:08 +01:00
parent 7a032cb97f
commit b2bdca1b4a

View File

@ -546,19 +546,16 @@ static int udp_read(URLContext *h, uint8_t *buf, int size)
avail = av_fifo_size(s->fifo); avail = av_fifo_size(s->fifo);
if (avail) { // >=size) { if (avail) { // >=size) {
uint8_t tmp[4]; uint8_t tmp[4];
int skip = 0;
av_fifo_generic_read(s->fifo, tmp, 4, NULL); av_fifo_generic_read(s->fifo, tmp, 4, NULL);
avail= AV_RL32(tmp); avail= AV_RL32(tmp);
if(avail > size){ if(avail > size){
av_log(h, AV_LOG_WARNING, "Part of datagram lost due to insufficient buffer size\n"); av_log(h, AV_LOG_WARNING, "Part of datagram lost due to insufficient buffer size\n");
skip = avail - size;
avail= size; avail= size;
} }
av_fifo_generic_read(s->fifo, buf, avail, NULL); av_fifo_generic_read(s->fifo, buf, avail, NULL);
if (skip) av_fifo_drain(s->fifo, AV_RL32(tmp) - avail);
av_fifo_drain(s->fifo, skip);
return avail; return avail;
} }
else { else {