]> git.sesse.net Git - ffmpeg/blobdiff - ffmpeg_opt.c
lavf/hlsenc: replace round by lrint
[ffmpeg] / ffmpeg_opt.c
index fd2c0517cfe173e81d198531e1374214fdbad83c..3df46da15ee7e77d08d1a9c6dd8e25b0c0a66a31 100644 (file)
@@ -2418,8 +2418,27 @@ loop_end:
     for (i = 0; i < o->nb_program; i++) {
         const char *p = o->program[i].u.str;
         int progid = i+1;
-        AVProgram *program = av_new_program(oc, progid);
+        AVProgram *program;
 
+        while(*p) {
+            const char *p2 = av_get_token(&p, ":");
+            char *key;
+            if (!p2)
+                break;
+            if(*p) p++;
+
+            key = av_get_token(&p2, "=");
+            if (!key || !*p2)
+                break;
+            p2++;
+
+            if (!strcmp(key, "program_num"))
+                progid = strtol(p2, NULL, 0);
+        }
+
+        program = av_new_program(oc, progid);
+
+        p = o->program[i].u.str;
         while(*p) {
             const char *p2 = av_get_token(&p, ":");
             char *key;
@@ -2440,6 +2459,7 @@ loop_end:
 
             if (!strcmp(key, "title")) {
                 av_dict_set(&program->metadata, "title", p2, 0);
+            } else if (!strcmp(key, "program_num")) {
             } else if (!strcmp(key, "st")) {
                 int st_num = strtol(p2, NULL, 0);
                 av_program_add_stream_index(oc, progid, st_num);