[FFmpeg-devel] [PATCH 4/5] avformat/mxfdec: fix data_essence_descriptor matching logic
Marton Balint
cus at passwd.hu
Mon May 28 01:16:21 EEST 2018
On Sun, 27 May 2018, Tomas Härdin wrote:
> sön 2018-05-27 klockan 21:21 +0200 skrev Marton Balint:
>>> Signed-off-by: Marton Balint <cus at passwd.hu>
>> ---
>> libavformat/mxfdec.c | 10 +++++-----
>> 1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
>> index bd46572e48..a62021b0d7 100644
>> --- a/libavformat/mxfdec.c
>> +++ b/libavformat/mxfdec.c
>> @@ -2354,12 +2354,12 @@ static int mxf_parse_structural_metadata(MXFContext *mxf)
>> st->need_parsing = AVSTREAM_PARSE_FULL;
>> }
>> } else if (st->codecpar->codec_type == AVMEDIA_TYPE_DATA) {
>> - int codec_id = mxf_get_codec_ul(mxf_data_essence_container_uls,
>> - essence_container_ul)->id;
>> - if (codec_id >= 0 &&
>> - codec_id < FF_ARRAY_ELEMS(mxf_data_essence_descriptor)) {
>> + int index;
>> + container_ul = mxf_get_codec_ul(mxf_data_essence_container_uls, essence_container_ul);
>> + index = container_ul - mxf_data_essence_container_uls;
>
> Nice use of C peculiarities (:
The other way is to add a char* to the MXFCodecUL struct, but I thought
that would be overkill for such a tiny use case.
>
>> + if (index < FF_ARRAY_ELEMS(mxf_data_essence_descriptor)) {
>
> index can never be <0? Say if container_ul == NULL...
No, because mxf_get_codec_ul never returns NULL.
Regards,
Marton
More information about the ffmpeg-devel
mailing list