[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
Mon Jun 30 06:33:43 EEST 2025


Sorry about that. I just attached the patch directly. Please let me know if
this still doesn't work.

On Mon, 30 Jun 2025 at 12:41, Michael Niedermayer <michael at niedermayer.cc>
wrote:

> On Sun, Jun 29, 2025 at 09:42:27AM +1200, Ken McGaugh wrote:
> > On Sun, 29 Jun 2025 at 08:33, Ken McGaugh <ken at mcgaugh.co.uk> wrote:
> >
> > > 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?
> > >
> >
> > Here it is in case you need it from me. Thanks again for your prompt
> review.
> >
> >  ---
> >  libavformat/mov.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/libavformat/mov.c b/libavformat/mov.c
> > index bd6b23466b..31ebcebca1 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 && (key || c->export_all) &&
> > !c->itunes_metadata && !raw) {
> >          str_size = avio_rb16(pb); // string length
>
> theres a linebreak corrupting the patch, check your editors word / line
> wrap settings
> or attach patches
>
> thx
>
> [...]
> --
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> For a strong democracy, genuine criticism is necessary, allegations benefit
> noone, they just cause unnecessary conflicts. - Narendra Modi
> _______________________________________________
> 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".
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Updated-patch-allowing-custom-udta-atoms-to-pass-thr.patch
Type: application/octet-stream
Size: 890 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20250630/f02a0a0f/attachment.obj>


More information about the ffmpeg-devel mailing list