udp: call av_fifo_space directly as needed.
The comment seemed to indicate that left was used to limit the size of the recv, but it was not so.
This commit is contained in:
parent
63afc4f638
commit
5deb5ccbbb
@ -332,13 +332,8 @@ static void *circular_buffer_task( void *_URLContext)
|
|||||||
pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &old_cancelstate);
|
pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &old_cancelstate);
|
||||||
ff_socket_nonblock(s->udp_fd, 0);
|
ff_socket_nonblock(s->udp_fd, 0);
|
||||||
while(1) {
|
while(1) {
|
||||||
int left;
|
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
/* How much do we have left to the end of the buffer */
|
|
||||||
/* Whats the minimum we can read so that we dont comletely fill the buffer */
|
|
||||||
left = av_fifo_space(s->fifo);
|
|
||||||
|
|
||||||
/* Blocking operations are always cancellation points;
|
/* Blocking operations are always cancellation points;
|
||||||
see "General Information" / "Thread Cancelation Overview"
|
see "General Information" / "Thread Cancelation Overview"
|
||||||
in Single Unix. */
|
in Single Unix. */
|
||||||
@ -353,7 +348,8 @@ static void *circular_buffer_task( void *_URLContext)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
AV_WL32(s->tmp, len);
|
AV_WL32(s->tmp, len);
|
||||||
if(left < len + 4) {
|
|
||||||
|
if(av_fifo_space(s->fifo) < len + 4) {
|
||||||
/* No Space left */
|
/* No Space left */
|
||||||
if (s->overrun_nonfatal) {
|
if (s->overrun_nonfatal) {
|
||||||
av_log(h, AV_LOG_WARNING, "Circular buffer overrun. "
|
av_log(h, AV_LOG_WARNING, "Circular buffer overrun. "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user