]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/concatdec.c
Merge commit 'bf7114b6caad8cf94696b0299c13b0d26bf291be'
[ffmpeg] / libavformat / concatdec.c
index 1fe294be19651bcbec6b2c4e7c1c799adb904515..88b6dbe6a4472a9b2a83469ca682e0223da602f8 100644 (file)
@@ -315,7 +315,7 @@ static int open_file(AVFormatContext *avf, unsigned fileno)
                            cat->files[fileno - 1].start_time +
                            cat->files[fileno - 1].duration;
     file->file_start_time = (avf->start_time == AV_NOPTS_VALUE) ? 0 : avf->start_time;
-    file->file_inpoint = (file->file_inpoint == AV_NOPTS_VALUE) ? file->file_start_time : file->inpoint;
+    file->file_inpoint = (file->inpoint == AV_NOPTS_VALUE) ? file->file_start_time : file->inpoint;
     if ((ret = match_streams(avf)) < 0)
         return ret;
     if (file->inpoint != AV_NOPTS_VALUE) {
@@ -394,6 +394,11 @@ static int concat_read_header(AVFormatContext *avf)
                 av_log(avf, AV_LOG_ERROR, "Line %d: packet metadata required\n", line);
                 FAIL(AVERROR_INVALIDDATA);
             }
+            if (!file) {
+                av_log(avf, AV_LOG_ERROR, "Line %d: %s without file\n",
+                       line, keyword);
+                FAIL(AVERROR_INVALIDDATA);
+            }
             if ((ret = av_dict_parse_string(&file->metadata, metadata, "=", "", 0)) < 0) {
                 av_log(avf, AV_LOG_ERROR, "Line %d: failed to parse metadata string\n", line);
                 av_freep(&metadata);