Browse Source

avconv: fix disabling auto mappings with -map_metadata

CC: libav-stable@libav.org
tags/n1.1
Anton Khirnov 12 years ago
parent
commit
a119c64e38
1 changed files with 7 additions and 3 deletions
  1. +7
    -3
      avconv_opt.c

+ 7
- 3
avconv_opt.c View File

@@ -326,6 +326,10 @@ static int copy_metadata(char *outspec, char *inspec, AVFormatContext *oc, AVFor
if (type_in == 'c' || type_out == 'c')
o->metadata_chapters_manual = 1;

/* ic is NULL when just disabling automatic mappings */
if (!ic)
return 0;

#define METADATA_CHECK_INDEX(index, nb_elems, desc)\
if ((index) < 0 || (index) >= (nb_elems)) {\
av_log(NULL, AV_LOG_FATAL, "Invalid %s index %d while processing metadata maps.\n",\
@@ -1410,13 +1414,13 @@ loop_end:
char *p;
int in_file_index = strtol(o->metadata_map[i].u.str, &p, 0);

if (in_file_index < 0)
continue;
if (in_file_index >= nb_input_files) {
av_log(NULL, AV_LOG_FATAL, "Invalid input file index %d while processing metadata maps\n", in_file_index);
exit(1);
}
copy_metadata(o->metadata_map[i].specifier, *p ? p + 1 : p, oc, input_files[in_file_index]->ctx, o);
copy_metadata(o->metadata_map[i].specifier, *p ? p + 1 : p, oc,
in_file_index >= 0 ?
input_files[in_file_index]->ctx : NULL, o);
}

/* copy chapters */


Loading…
Cancel
Save