Submitted By: Marty Jack (martyj19 at comcast dot net)
Date: 2022-07-23
Initial Package Version: 5.1.0
Origin: Rediffed from ffmpeg-5.0.1-api_addition-1.patch
Upstream Status: Not accepted
Description: The ffmpeg upstream is not willing to take this as a 
permanent fix and suggests that Chromium should change to keep the 
information locally to Chromium. Until that happens it appears 
that many distros are carrying this patch as a temporary 
expedient to allow building with system ffmpeg. 

diff -Naur ffmpeg-5.1.orig/libavformat/avformat.h ffmpeg-5.1/libavformat/avformat.h
--- ffmpeg-5.1.orig/libavformat/avformat.h	2022-07-22 13:58:39.000000000 -0400
+++ ffmpeg-5.1/libavformat/avformat.h	2022-07-22 19:34:07.490051886 -0400
@@ -1128,6 +1128,10 @@
  */
 int64_t    av_stream_get_end_pts(const AVStream *st);
 
+// Chromium: We use the internal field first_dts vvv
+int64_t    av_stream_get_first_dts(const AVStream *st);
+// Chromium: We use the internal field first_dts ^^^
+
 #define AV_PROGRAM_RUNNING 1
 
 /**
diff -Naur ffmpeg-5.1.orig/libavformat/demux_utils.c ffmpeg-5.1/libavformat/demux_utils.c
--- ffmpeg-5.1.orig/libavformat/demux_utils.c	2022-07-22 13:58:39.000000000 -0400
+++ ffmpeg-5.1/libavformat/demux_utils.c	2022-07-22 19:36:39.646735587 -0400
@@ -29,6 +29,13 @@
 #include "demux.h"
 #include "internal.h"
 
+// Chromium: We use the internal field first_dts vvv
+int64_t av_stream_get_first_dts(const AVStream *st)
+{
+  return cffstream(st)->first_dts;
+}
+// Chromium: We use the internal field first_dts ^^^
+
 struct AVCodecParserContext *av_stream_get_parser(const AVStream *st)
 {
     return cffstream(st)->parser;