Merge remote-tracking branch 'ivan/muxed-mtime'
[ytdl] / youtube_dl / postprocessor / ffmpeg.py
index 6e9194fa6ae94f5beeb03d1e6a50ae0853242465..8bf5bebc31bb06ce57a86a2216aea2044dbb0bfc 100644 (file)
@@ -82,12 +82,14 @@ class FFmpegPostProcessor(PostProcessor):
     def run_ffmpeg_multiple_files(self, input_paths, out_path, opts):
         self.check_version()
 
+        oldest_mtime = min(os.stat(path).st_mtime for path in input_paths)
+
         files_cmd = []
         for path in input_paths:
             files_cmd.extend([encodeArgument('-i'), encodeFilename(path, True)])
         cmd = ([encodeFilename(self._executable, True), encodeArgument('-y')] +
-               files_cmd
-               [encodeArgument(o) for o in opts] +
+               files_cmd +
+               [encodeArgument(o) for o in opts] +
                [encodeFilename(self._ffmpeg_filename_argument(out_path), True)])
 
         if self._downloader.params.get('verbose', False):
@@ -98,6 +100,7 @@ class FFmpegPostProcessor(PostProcessor):
             stderr = stderr.decode('utf-8', 'replace')
             msg = stderr.strip().split('\n')[-1]
             raise FFmpegPostProcessorError(msg)
+        os.utime(out_path, (oldest_mtime, oldest_mtime))
         if self._deletetempfiles:
             for ipath in input_paths:
                 os.remove(ipath)