Signed-off-by: Michael Niedermayer <michae...@gmx.at> --- libavformat/aviobuf.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index b32ff9f..3aa2b2d 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -809,6 +809,8 @@ int ffio_ensure_seekback(AVIOContext *s, int64_t buf_size) if (buf_size < filled || s->seekable) return 0; av_assert0(!s->write_flag); + if (!s->resizeable) + return AVERROR(EINVAL); buffer = av_malloc(buf_size); if (!buffer) @@ -873,6 +875,14 @@ int ffio_rewind_with_probe_data(AVIOContext *s, unsigned char **bufp, int buf_si return AVERROR(EINVAL); } + if (!s->resizeable) { + int64_t ret = avio_seek(s, 0, SEEK_SET); + av_freep(bufp); + if (ret < 0) + return ret; + return 0; + } + overlap = buf_size - buffer_start; new_size = buf_size + buffer_size - overlap; -- 1.7.9.5 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel