ffmpeg_opt: Allow -metadata option to set metadata on programs.
authorVittorio Gambaletta (VittGam) <ffmpeg-dev@vittgam.net>
Tue, 26 Jan 2016 14:13:09 +0000 (15:13 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Tue, 26 Jan 2016 16:36:08 +0000 (17:36 +0100)
Signed-off-by: Vittorio Gambaletta <ffmpeg-dev@vittgam.net>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
doc/ffmpeg.texi
ffmpeg_opt.c

index a38a32e..7d3266a 100644 (file)
@@ -339,8 +339,8 @@ see @ref{date syntax,,the Date section in the ffmpeg-utils(1) manual,ffmpeg-util
 Set a metadata key/value pair.
 
 An optional @var{metadata_specifier} may be given to set metadata
-on streams or chapters. See @code{-map_metadata} documentation for
-details.
+on streams, chapters or programs. See @code{-map_metadata}
+documentation for details.
 
 This option overrides metadata set with @code{-map_metadata}. It is
 also possible to delete metadata by using an empty value.
index e03ad89..669976b 100644 (file)
@@ -2466,6 +2466,13 @@ loop_end:
                 }
                 m = &oc->chapters[index]->metadata;
                 break;
+            case 'p':
+                if (index < 0 || index >= oc->nb_programs) {
+                    av_log(NULL, AV_LOG_FATAL, "Invalid program index %d in metadata specifier.\n", index);
+                    exit_program(1);
+                }
+                m = &oc->programs[index]->metadata;
+                break;
             default:
                 av_log(NULL, AV_LOG_FATAL, "Invalid metadata specifier %s.\n", o->metadata[i].specifier);
                 exit_program(1);