Otherwise it will never be reset, and remain "stuck" in this state forever. Can happen when seeking: the decoder will receive fragments from different file positions, which triggers the condition easily. --- These patches basically fix seeking. --- libavcodec/dvdsubdec.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/libavcodec/dvdsubdec.c b/libavcodec/dvdsubdec.c index 673fc60..5abf014 100644 --- a/libavcodec/dvdsubdec.c +++ b/libavcodec/dvdsubdec.c @@ -539,6 +539,7 @@ static int dvdsub_decode(AVCodecContext *avctx, if (ctx->buf_size) { int ret = append_to_cached_buf(avctx, buf, buf_size); if (ret < 0) { + ctx->buf_size = 0; *data_size = 0; return ret; } -- 2.1.4 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel