Message ID | 20180521191403.18204-1-nik@nikjohnson.net |
---|---|
State | Superseded |
Headers | show |
On Mon, May 21, 2018 at 12:14:03PM -0700, Nik Johnson wrote: > Some muxers write the stream title in a udta atom with the tag 'name'. > Recognize 'name' tags as the stream title instead of an unknown tag. > > Signed-off-by: Nik Johnson <nik@nikjohnson.net> > --- > [v2: Add raw = 1] > > libavformat/mov.c | 1 + > 1 file changed, 1 insertion(+) a fate testcase for this would be a usefull i think unless there is no small sample thx [...]
On Mon, May 21, 2018 at 12:14:03PM -0700, Nik Johnson wrote: > Some muxers write the stream title in a udta atom with the tag 'name'. > Recognize 'name' tags as the stream title instead of an unknown tag. > > Signed-off-by: Nik Johnson <nik@nikjohnson.net> > --- > [v2: Add raw = 1] > > libavformat/mov.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/libavformat/mov.c b/libavformat/mov.c > index 5332d48eb1..09e3096a06 100644 > --- a/libavformat/mov.c > +++ b/libavformat/mov.c > @@ -340,6 +340,7 @@ static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom) > return mov_metadata_loci(c, pb, atom.size); > case MKTAG( 'm','a','n','u'): key = "make"; break; > case MKTAG( 'm','o','d','l'): key = "model"; break; > + case MKTAG( 'n','a','m','e'): key = "title"; raw = 1; break; > case MKTAG( 'p','c','s','t'): key = "podcast"; > parse = mov_metadata_int8_no_padding; break; > case MKTAG( 'p','g','a','p'): key = "gapless_playback"; for ./ffmpeg -i ~/tickets/4938/2014-11-30\ 23.59.04-hb.mp4 file should be linked at https://trac.ffmpeg.org/ticket/4938 this produces: title : Mono is this intended ? [...]
That's intended. I inspected the file with exiftool -v3 to check the tags and verify that's correct behavior. | | UserData (SubDirectory) --> | | - Tag 'udta' (12 bytes): | | 503e39: 00 00 00 0c 6e 61 6d 65 4d 6f 6e 6f [....nameMono] | | + [UserData directory] | | | Track2Name = Mono | | | - Tag 'Track2name' (4 bytes): | | | 503e41: 4d 6f 6e 6f [Mono] I'm also working on putting together a fate test and generate a tiny sample to include with this per your ask. ------ Original Message ------ From: "Michael Niedermayer" <michael@niedermayer.cc> To: "FFmpeg development discussions and patches" <ffmpeg-devel@ffmpeg.org> Sent: 5/22/2018 11:28:29 AM Subject: Re: [FFmpeg-devel] [PATCH v2 2/2] libavformat/mov: recognize udta name tag as the stream title >On Mon, May 21, 2018 at 12:14:03PM -0700, Nik Johnson wrote: >>Some muxers write the stream title in a udta atom with the tag 'name'. >>Recognize 'name' tags as the stream title instead of an unknown tag. >> >>Signed-off-by: Nik Johnson <nik@nikjohnson.net> >>--- >>[v2: Add raw = 1] >> >>libavformat/mov.c | 1 + >>1 file changed, 1 insertion(+) >> >>diff --git a/libavformat/mov.c b/libavformat/mov.c >>index 5332d48eb1..09e3096a06 100644 >>--- a/libavformat/mov.c >>+++ b/libavformat/mov.c >>@@ -340,6 +340,7 @@ static int mov_read_udta_string(MOVContext *c, >>AVIOContext *pb, MOVAtom atom) >>return mov_metadata_loci(c, pb, atom.size); >>case MKTAG( 'm','a','n','u'): key = "make"; break; >>case MKTAG( 'm','o','d','l'): key = "model"; break; >>+ case MKTAG( 'n','a','m','e'): key = "title"; raw = 1; break; >>case MKTAG( 'p','c','s','t'): key = "podcast"; >>parse = mov_metadata_int8_no_padding; break; >>case MKTAG( 'p','g','a','p'): key = "gapless_playback"; > >for >./ffmpeg -i ~/tickets/4938/2014-11-30\ 23.59.04-hb.mp4 >file should be linked at https://trac.ffmpeg.org/ticket/4938 > >this produces: > >title : Mono > >is this intended ? > > >[...] >-- >Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB > >The misfortune of the wise is better than the prosperity of the fool. >-- Epicurus
diff --git a/libavformat/mov.c b/libavformat/mov.c index 5332d48eb1..09e3096a06 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -340,6 +340,7 @@ static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom) return mov_metadata_loci(c, pb, atom.size); case MKTAG( 'm','a','n','u'): key = "make"; break; case MKTAG( 'm','o','d','l'): key = "model"; break; + case MKTAG( 'n','a','m','e'): key = "title"; raw = 1; break; case MKTAG( 'p','c','s','t'): key = "podcast"; parse = mov_metadata_int8_no_padding; break; case MKTAG( 'p','g','a','p'): key = "gapless_playback";
Some muxers write the stream title in a udta atom with the tag 'name'. Recognize 'name' tags as the stream title instead of an unknown tag. Signed-off-by: Nik Johnson <nik@nikjohnson.net> --- [v2: Add raw = 1] libavformat/mov.c | 1 + 1 file changed, 1 insertion(+)