summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Sabatini <stefano.sabatini-lala@poste.it>2009-12-28 21:49:56 +0000
committerStefano Sabatini <stefano.sabatini-lala@poste.it>2009-12-28 21:49:56 +0000
commitde4898a22909ff8a9ff846820627094bdd68b648 (patch)
treee41e67df161a9cc0345de17f5e0a89f9808c67c1
parenta8beb22f4def164be718261092a42b9294e50e3f (diff)
Set thread_count in the decoder before to open it.
This is safer since avcodec_open() may initialize some structure using the thread_count default value which will be changed later, causing potential security / stability issues. Also do not explicitely set the thread_count value in the decoder, since this is already done by avcodec_thread_init(). See the thread: "[FFmpeg-devel] [PATCH] Make ffplay define in the encoder the number of threads *before* to open it", started in date 2008-03-08. Originally committed as revision 20954 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--ffplay.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/ffplay.c b/ffplay.c
index df9958e6f9..dc83031661 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -1722,6 +1722,8 @@ static int stream_component_open(VideoState *is, int stream_index)
enc->skip_loop_filter= skip_loop_filter;
enc->error_recognition= error_recognition;
enc->error_concealment= error_concealment;
+ if (thread_count > 1)
+ avcodec_thread_init(enc, thread_count);
set_context_opts(enc, avcodec_opts[enc->codec_type], 0);
@@ -1746,9 +1748,6 @@ static int stream_component_open(VideoState *is, int stream_index)
is->audio_src_fmt= SAMPLE_FMT_S16;
}
- if(thread_count>1)
- avcodec_thread_init(enc, thread_count);
- enc->thread_count= thread_count;
ic->streams[stream_index]->discard = AVDISCARD_DEFAULT;
switch(enc->codec_type) {
case CODEC_TYPE_AUDIO: