[FFmpeg-devel] [PATCH] avformat/mxfdec: treat Random Index Pack as end of file
Marton Balint
cus at passwd.hu
Sun Apr 2 22:33:15 EEST 2023
On Sun, 26 Mar 2023, Marton Balint wrote:
> RIP, if exists is the last KLV item in the MXF files therefore we can stop
> parsing the file if it is encountered. This allows us to support files created by
> broken muxers such as OpenCube MXFTk Advanced 2.8.0.0.1. which dumps some extra
> garbage after the RIP.
Will apply soon.
Regards,
Marton
>
> Signed-off-by: Marton Balint <cus at passwd.hu>
> ---
> libavformat/mxfdec.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
> index 4530617207..8a7008b298 100644
> --- a/libavformat/mxfdec.c
> +++ b/libavformat/mxfdec.c
> @@ -3739,7 +3739,10 @@ static int mxf_read_header(AVFormatContext *s)
> while (!avio_feof(s->pb)) {
> const MXFMetadataReadTableEntry *metadata;
>
> - if (klv_read_packet(&klv, s->pb) < 0) {
> + ret = klv_read_packet(&klv, s->pb);
> + if (ret < 0 || IS_KLV_KEY(klv.key, ff_mxf_random_index_pack_key)) {
> + if (ret >= 0 && avio_size(s->pb) > klv.next_klv)
> + av_log(s, AV_LOG_WARNING, "data after the RandomIndexPack, assuming end of file\n");
> /* EOF - seek to previous partition or stop */
> if(mxf_parse_handle_partition_or_eof(mxf) <= 0)
> break;
> --
> 2.35.3
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>
More information about the ffmpeg-devel
mailing list