[FFmpeg-devel] [PATCH 10/10] avcodec/avcodec: Remove outdated comment

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Thu Jan 6 09:08:45 EET 2022


Marvin Scholz:
> 
> 
> On 5 Jan 2022, at 22:56, Andreas Rheinhardt wrote:
> 
>> avcodec_open2() is supposed to be thread-safe (those codecs
>> whose init functions are not thread-safe are guarded
>> by a global lock).
>>
> 
> Maybe it would be better to note since which version this is
> the case, or at least mention it in the api changelog?
> 

There can be a data race with current git master if an mpeg4 decoder is
opened concurrently with an mpeg4-parser. This is fixed in patch #6 of
this patchset.
(Actually, avcodec_open2() is supposed to be thread-safe since the
introduction of the global lock, yet in practice there were several
issues with this; one of this is fixed in #6. Other issues were that the
AAC codecs claimed to be init-threadsafe, yet weren't for a long time
(see 195d8ce85eb73ff283f85dcee63383ec4081e3e7).)

>> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
>> ---
>>  libavcodec/avcodec.h | 2 --
>>  1 file changed, 2 deletions(-)
>>
>> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
>> index 7ee8bc2b7c..ec1a0566a4 100644
>> --- a/libavcodec/avcodec.h
>> +++ b/libavcodec/avcodec.h
>> @@ -2384,8 +2384,6 @@ int avcodec_parameters_to_context(AVCodecContext
>> *codec,
>>   * avcodec_find_decoder() and avcodec_find_encoder() provide an easy
>> way for
>>   * retrieving a codec.
>>   *
>> - * @warning This function is not thread safe!
>> - *
>>   * @note Always call this function before using decoding routines
>> (such as
>>   * @ref avcodec_receive_frame()).
>>   *
>> -- 


More information about the ffmpeg-devel mailing list