On 06/12/11 07:51, Anton Khirnov wrote:
Fixes avformat_find_stream_info() on streams with number of frames<
thread count.
---
libavformat/utils.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/libavformat/utils.c b/libavformat/utils.c
index ea075e7..a4985da 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2292,6 +2292,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);
Maybe would be better wording as "find stream info should use the
minimal amount of time and samples to find additional codec information,
force single threading to not add delay"
Make sure after find info the threads are set back to their original
values though ^^;
lu
--
Luca Barbato
Gentoo/linux
http://dev.gentoo.org/~lu_zero
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel