| 113 | } |
| 114 | |
| 115 | static int ring_read(RingBuffer *ring, void *dest, int buf_size) |
| 116 | { |
| 117 | int ret = 0; |
| 118 | |
| 119 | av_assert2(buf_size <= ring_size(ring)); |
| 120 | if (dest) |
| 121 | ret = av_fifo_peek(ring->fifo, dest, buf_size, ring->read_pos); |
| 122 | ring->read_pos += buf_size; |
| 123 | |
| 124 | if (ring->read_pos > ring->read_back_capacity) { |
| 125 | av_fifo_drain2(ring->fifo, ring->read_pos - ring->read_back_capacity); |
| 126 | ring->read_pos = ring->read_back_capacity; |
| 127 | } |
| 128 | |
| 129 | return ret; |
| 130 | } |
| 131 | |
| 132 | static int wrapped_url_read(void *src, void *dst, size_t *size) |
| 133 | { |
no test coverage detected