diff options
author | Anton Khirnov <anton@khirnov.net> | 2022-01-07 11:41:42 +0100 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-02-07 00:31:23 +0100 |
commit | 70a1774f1a40386605d156aacc4eab4f44f643d6 (patch) | |
tree | 94593c0eb25aeb9191aabadbc20db3d87e01fca5 /libavformat/udp.c | |
parent | 5fe2c3773496bb79392646dddc1415adb3b6d3d7 (diff) | |
download | ffmpeg-70a1774f1a40386605d156aacc4eab4f44f643d6.tar.gz |
lavf/udp: switch to new FIFO API
Diffstat (limited to 'libavformat/udp.c')
-rw-r--r-- | libavformat/udp.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/libavformat/udp.c b/libavformat/udp.c index b441d2ea0d..da56c8ee1d 100644 --- a/libavformat/udp.c +++ b/libavformat/udp.c @@ -98,7 +98,7 @@ typedef struct UDPContext { /* Circular Buffer variables for use in UDP receive code */ int circular_buffer_size; - AVFifoBuffer *fifo; + AVFifo *fifo; int circular_buffer_error; int64_t bitrate; /* number of bits to send per second */ int64_t burst_bits; @@ -500,7 +500,7 @@ static void *circular_buffer_task_rx( void *_URLContext) continue; AV_WL32(s->tmp, len); - if(av_fifo_space(s->fifo) < len + 4) { + if (av_fifo_can_write(s->fifo) < len + 4) { /* No Space left */ if (s->overrun_nonfatal) { av_log(h, AV_LOG_WARNING, "Circular buffer overrun. " @@ -514,7 +514,7 @@ static void *circular_buffer_task_rx( void *_URLContext) goto end; } } - av_fifo_generic_write(s->fifo, s->tmp, len+4, NULL); + av_fifo_write(s->fifo, s->tmp, len + 4); pthread_cond_signal(&s->cond); } @@ -548,22 +548,22 @@ static void *circular_buffer_task_tx( void *_URLContext) uint8_t tmp[4]; int64_t timestamp; - len = av_fifo_size(s->fifo); + len = av_fifo_can_read(s->fifo); while (len<4) { if (s->close_req) goto end; pthread_cond_wait(&s->cond, &s->mutex); - len = av_fifo_size(s->fifo); + len = av_fifo_can_read(s->fifo); } - av_fifo_generic_read(s->fifo, tmp, 4, NULL); + av_fifo_read(s->fifo, tmp, 4); len = AV_RL32(tmp); av_assert0(len >= 0); av_assert0(len <= sizeof(s->tmp)); - av_fifo_generic_read(s->fifo, s->tmp, len, NULL); + av_fifo_read(s->fifo, s->tmp, len); pthread_mutex_unlock(&s->mutex); @@ -906,7 +906,7 @@ static int udp_open(URLContext *h, const char *uri, int flags) if ((!is_output && s->circular_buffer_size) || (is_output && s->bitrate && s->circular_buffer_size)) { /* start the task going */ - s->fifo = av_fifo_alloc(s->circular_buffer_size); + s->fifo = av_fifo_alloc2(s->circular_buffer_size, 1, 0); if (!s->fifo) { ret = AVERROR(ENOMEM); goto fail; @@ -943,7 +943,7 @@ static int udp_open(URLContext *h, const char *uri, int flags) fail: if (udp_fd >= 0) closesocket(udp_fd); - av_fifo_freep(&s->fifo); + av_fifo_freep2(&s->fifo); ff_ip_reset_filters(&s->filters); return ret; } @@ -970,19 +970,19 @@ static int udp_read(URLContext *h, uint8_t *buf, int size) if (s->fifo) { pthread_mutex_lock(&s->mutex); do { - avail = av_fifo_size(s->fifo); + avail = av_fifo_can_read(s->fifo); if (avail) { // >=size) { uint8_t tmp[4]; - av_fifo_generic_read(s->fifo, tmp, 4, NULL); + av_fifo_read(s->fifo, tmp, 4); avail = AV_RL32(tmp); if(avail > size){ av_log(h, AV_LOG_WARNING, "Part of datagram lost due to insufficient buffer size\n"); avail = size; } - av_fifo_generic_read(s->fifo, buf, avail, NULL); - av_fifo_drain(s->fifo, AV_RL32(tmp) - avail); + av_fifo_read(s->fifo, buf, avail); + av_fifo_drain2(s->fifo, AV_RL32(tmp) - avail); pthread_mutex_unlock(&s->mutex); return avail; } else if(s->circular_buffer_error){ @@ -1043,14 +1043,14 @@ static int udp_write(URLContext *h, const uint8_t *buf, int size) return err; } - if(av_fifo_space(s->fifo) < size + 4) { + if (av_fifo_can_write(s->fifo) < size + 4) { /* What about a partial packet tx ? */ pthread_mutex_unlock(&s->mutex); return AVERROR(ENOMEM); } AV_WL32(tmp, size); - av_fifo_generic_write(s->fifo, tmp, 4, NULL); /* size of packet */ - av_fifo_generic_write(s->fifo, (uint8_t *)buf, size, NULL); /* the data */ + av_fifo_write(s->fifo, tmp, 4); /* size of packet */ + av_fifo_write(s->fifo, buf, size); /* the data */ pthread_cond_signal(&s->cond); pthread_mutex_unlock(&s->mutex); return size; @@ -1112,7 +1112,7 @@ static int udp_close(URLContext *h) } #endif closesocket(s->udp_fd); - av_fifo_freep(&s->fifo); + av_fifo_freep2(&s->fifo); ff_ip_reset_filters(&s->filters); return 0; } |