[FFmpeg-devel] [PATCH] avformat/mov.c: Fix to allow custom udta tags through when export_all option specified.

Ken McGaugh ken at mcgaugh.co.uk
Sat Jun 28 23:33:50 EEST 2025


On Sun, 29 Jun 2025 at 7:44 AM, Baptiste Coudurier <
baptiste.coudurier-at-gmail.com at ffmpeg.org> wrote:

> Hey Ken
>
> > On Jun 28, 2025, at 1:04 AM, Ken McGaugh <ken at mcgaugh.co.uk> wrote:
> >
> > On Sat, 28 Jun 2025 at 13:52, Baptiste Coudurier <
> > baptiste.coudurier-at-gmail.com at ffmpeg.org <mailto:
> baptiste.coudurier-at-gmail.com at ffmpeg.org>> wrote:
> >
> >> Hi
> >>
> >>> On Jun 27, 2025, at 5:46 PM, Ken McGaugh <ken at mcgaugh.co.uk> wrote:
> >>>
> >>> Hi, first time contributing to ffmpeg so I hope I got this right. We
> use
> >>> custom udta tags in our pipeline but they were not coming through
> >>> correctly. Looks like they were incorrectly being routed through the
> code
> >>> path for "raw" data.
> >>> ---
> >>> libavformat/mov.c | 2 +-
> >>> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>>
> >>> diff --git a/libavformat/mov.c b/libavformat/mov.c
> >>> index bd6b23466b..1b17f52a16 100644
> >>> --- a/libavformat/mov.c
> >>> +++ b/libavformat/mov.c
> >>> @@ -484,7 +484,7 @@ retry:
> >>>                return ret;
> >>>            }
> >>>        } else return 0;
> >>> -    } else if (atom.size > 4 && key && !c->itunes_metadata && !raw) {
> >>> +    } else if (atom.size > 4 && !c->itunes_metadata && !raw) {
> >>>        str_size = avio_rb16(pb); // string length
> >>>        if (str_size > atom.size) {
> >>>            raw = 1;
> >>> --
> >>> 2.39.5 (Apple Git-154)
> >>
> >> Thanks!
> >> Would it be possible for you to share a small sample?
> >>
> >>
> > Certainly. Here is a sample .mov with a handful of custom udta atoms. For
> > example, the '[169]tco' one should have the value "FrameNumber", but
> > without this patch it is exported as an empty string.
> >
> >
> https://drive.google.com/file/d/1KJgRueP26cuo1os2OaNqBz2u8-aeUbBS/view?usp=sharing
> >
>
> Thanks!
> I feel we should do "if (atom.size > 4 && (key || c->export_all) &&
> !c->itunes_metadata && !raw” to be safer.
> What do you think ?


That would definitely be safer. Thanks for catching that. Do you need me to
submit an updated patch?

 —Ken

>


More information about the ffmpeg-devel mailing list