From 93fc5a9ff66637475025433c91876b80422f7bb4 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 6 Dec 2011 07:51:54 +0100 Subject: [PATCH] lavf: force threads to 1 in avformat_find_stream_info() Fixes avformat_find_stream_info() on streams with number of frames < thread count. --- libavformat/utils.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavformat/utils.c b/libavformat/utils.c index f42428563d..bc5b7e02da 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2291,6 +2291,11 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options) assert(!st->codec->codec); codec = avcodec_find_decoder(st->codec->codec_id); + /* this function doesn't flush the decoders, so force thread count + * to 1 to fix behavior when thread count > number of frames in the file */ + if (options) + av_dict_set(&options[i], "threads", "1", 0); + /* Ensure that subtitle_header is properly set. */ if (st->codec->codec_type == AVMEDIA_TYPE_SUBTITLE && codec && !st->codec->codec) -- GitLab