[FFmpeg-devel] [PATCH 3/5] udp: call av_fifo_space directly as needed.

Nicolas George nicolas.george at normalesup.org
Thu Mar 15 13:46:46 CET 2012


The comment seemed to indicate that left was used
to limit the size of the recv, but it was not so.

Signed-off-by: Nicolas George <nicolas.george at normalesup.org>
---
 libavformat/udp.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/libavformat/udp.c b/libavformat/udp.c
index dad79ff..4a6cee2 100644
--- a/libavformat/udp.c
+++ b/libavformat/udp.c
@@ -332,13 +332,8 @@ static void *circular_buffer_task( void *_URLContext)
     pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &old_cancelstate);
     ff_socket_nonblock(s->udp_fd, 0);
     while(1) {
-        int left;
         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;
            see "General Information" / "Thread Cancelation Overview"
            in Single Unix. */
@@ -353,7 +348,8 @@ static void *circular_buffer_task( void *_URLContext)
             continue;
         }
         AV_WL32(s->tmp, len);
-        if(left < len + 4) {
+
+        if(av_fifo_space(s->fifo) < len + 4) {
             /* No Space left */
             if (s->overrun_nonfatal) {
                 av_log(h, AV_LOG_WARNING, "Circular buffer overrun. "
-- 
1.7.9.1



More information about the ffmpeg-devel mailing list