[FFmpeg-devel] [PATCH 1/6] ffmpeg.c: copy global metadata by default
Anton Khirnov
anton
Thu Nov 4 17:27:04 CET 2010
On Thu, Nov 04, 2010 at 01:41:52AM +0100, Michael Niedermayer wrote:
> On Tue, Nov 02, 2010 at 10:04:00PM +0100, Anton Khirnov wrote:
> > ---
> > ffmpeg.c | 12 ++++++++++++
> > 1 files changed, 12 insertions(+), 0 deletions(-)
> >
> > diff --git a/ffmpeg.c b/ffmpeg.c
> > index fd3b404..26237a2 100644
> > --- a/ffmpeg.c
> > +++ b/ffmpeg.c
> > @@ -129,6 +129,7 @@ static int nb_stream_maps;
> > /* first item specifies output metadata, second is input */
> > static AVMetaDataMap (*meta_data_maps)[2] = NULL;
> > static int nb_meta_data_maps;
> > +static int metadata_global_autocopy = 1;
> > static int metadata_streams_autocopy = 1;
> > static int metadata_chapters_autocopy = 1;
> >
> > @@ -2380,6 +2381,15 @@ static int transcode(AVFormatContext **output_files,
> > av_metadata_set2(meta[0], mtag->key, mtag->value, AV_METADATA_DONT_OVERWRITE);
> > }
> >
> > + /* copy global metadata by default */
> > + if (metadata_global_autocopy) {
> > + AVMetadataTag *t = NULL;
> > +
> > + while ((t = av_metadata_get(input_files[0]->metadata, "", t, AV_METADATA_IGNORE_SUFFIX)))
> > + for (i = 0; i < nb_output_files; i++)
> > + av_metadata_set2(&output_files[i]->metadata, t->key, t->value, AV_METADATA_DONT_OVERWRITE);
> > + }
>
> is that copying code seperate from the one used to copy what the user specifies?
> that seems a bit messy
How do you want to merge them, the first one is
'for map in maps: figure out the metadata; copy metadata;'
the second one is
'if no maps: copy metadata;'
The copying code itself is two lines, not really worth factorizing.
--
Anton Khirnov
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20101104/32d3c4c8/attachment.pgp>
More information about the ffmpeg-devel
mailing list