mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
aviobuf: Discard old buffered, previously read data in ffio_read_partial
This makes RTP custom IO work properly with pure read-only AVIOContexts as well. Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
e96406eda4
commit
53c25ee073
@ -506,6 +506,13 @@ int ffio_read_partial(AVIOContext *s, unsigned char *buf, int size)
|
||||
|
||||
len = s->buf_end - s->buf_ptr;
|
||||
if (len == 0) {
|
||||
/* Reset the buf_end pointer to the start of the buffer, to make sure
|
||||
* the fill_buffer call tries to read as much data as fits into the
|
||||
* full buffer, instead of just what space is left after buf_end.
|
||||
* This avoids returning partial packets at the end of the buffer,
|
||||
* for packet based inputs.
|
||||
*/
|
||||
s->buf_end = s->buf_ptr = s->buffer;
|
||||
fill_buffer(s);
|
||||
len = s->buf_end - s->buf_ptr;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user