From cfa116534f6f044e1b60ad6320881037155203c7 Mon Sep 17 00:00:00 2001 From: git-bruh Date: Thu, 31 Mar 2022 20:25:34 +0530 Subject: [PATCH] ffmpeg: add patch for chromium --- extra/ffmpeg/build | 2 ++ extra/ffmpeg/checksums | 1 + ...av_stream_get_first_dts-for-chromium.patch | 33 +++++++++++++++++++ extra/ffmpeg/sources | 1 + extra/ffmpeg/version | 2 +- 5 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 extra/ffmpeg/patches/add-av_stream_get_first_dts-for-chromium.patch diff --git a/extra/ffmpeg/build b/extra/ffmpeg/build index fa1cca24..e9b65e92 100755 --- a/extra/ffmpeg/build +++ b/extra/ffmpeg/build @@ -1,5 +1,7 @@ #!/bin/sh -e +patch -p1 < add-av_stream_get_first_dts-for-chromium.patch + ./configure \ --cc="$CC" \ --cxx="$CXX" \ diff --git a/extra/ffmpeg/checksums b/extra/ffmpeg/checksums index b5509293..f7a9bf07 100644 --- a/extra/ffmpeg/checksums +++ b/extra/ffmpeg/checksums @@ -1 +1,2 @@ 51e919f7d205062c0fd4fae6243a84850391115104ccf1efc451733bc0ac7298 +29ce1c530fbbd0d2a258da0da2b49087b99ca039574a588b3fd5349bc769e01e diff --git a/extra/ffmpeg/patches/add-av_stream_get_first_dts-for-chromium.patch b/extra/ffmpeg/patches/add-av_stream_get_first_dts-for-chromium.patch new file mode 100644 index 00000000..7d0feb3d --- /dev/null +++ b/extra/ffmpeg/patches/add-av_stream_get_first_dts-for-chromium.patch @@ -0,0 +1,33 @@ +diff --git a/libavformat/avformat.h b/libavformat/avformat.h +index 6ce367e..cba3f5e 100644 +--- a/libavformat/avformat.h ++++ b/libavformat/avformat.h +@@ -1115,6 +1115,10 @@ struct AVCodecParserContext *av_stream_get_parser(const AVStream *s); + */ + 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 --git a/libavformat/utils.c b/libavformat/utils.c +index e643821..50ba6af 100644 +--- a/libavformat/utils.c ++++ b/libavformat/utils.c +@@ -92,6 +92,13 @@ int64_t av_stream_get_end_pts(const AVStream *st) + return AV_NOPTS_VALUE; + } + ++// 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; diff --git a/extra/ffmpeg/sources b/extra/ffmpeg/sources index 5eff499f..0b531de4 100644 --- a/extra/ffmpeg/sources +++ b/extra/ffmpeg/sources @@ -1 +1,2 @@ https://ffmpeg.org/releases/ffmpeg-VERSION.tar.xz +patches/add-av_stream_get_first_dts-for-chromium.patch diff --git a/extra/ffmpeg/version b/extra/ffmpeg/version index d80bad42..e60229ae 100644 --- a/extra/ffmpeg/version +++ b/extra/ffmpeg/version @@ -1 +1 @@ -5.0 1 +5.0 2