[FFmpeg-devel] [PATCH 4/5] avformat/mxfdec: fix data_essence_descriptor matching logic

Tomas Härdin tjoppen at acc.umu.se
Mon May 28 00:21:30 EEST 2018


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 (:

> +            if (index < FF_ARRAY_ELEMS(mxf_data_essence_descriptor)) {

index can never be <0? Say if container_ul == NULL...

/Tomas


More information about the ffmpeg-devel mailing list