Refresh chromium patch

Update the chromium patch[1] to match the latest ffmpeg git master
changes[2]. AVStream does not have the 'AVStreamInternal* internal'
field anymore, and AVStreamInternal struct does not exist anymore
either. The equivalent is now FFStream, and it should now be
accessed by 'FFStream* ffstream(AVStream*)'.

References
----------
[1] 95aab0fd83%5E%21/
[2] 40bdd8cc05
This commit is contained in:
Daniel Bermond 2022-05-10 17:03:42 -03:00
parent f4b58efffa
commit 9a74cb0ff8
No known key found for this signature in database
GPG Key ID: 019A7474297D8577
4 changed files with 36 additions and 51 deletions

View File

@ -1,6 +1,6 @@
pkgbase = ffmpeg-git
pkgdesc = Complete solution to record, convert and stream audio and video (git version)
pkgver = 5.1.r106386.ge78173557d
pkgver = 5.1.r106894.g260d7d5a6c
pkgrel = 1
url = https://www.ffmpeg.org/
arch = x86_64
@ -82,10 +82,10 @@ pkgbase = ffmpeg-git
provides = ffmpeg
conflicts = ffmpeg
source = git+https://git.ffmpeg.org/ffmpeg.git
source = 010-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch
source = 040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch
source = 060-ffmpeg-fix-segfault-with-avisynthplus.patch
sha256sums = SKIP
sha256sums = 91973c465f01446a999f278f0c2a3763304994dba1ac35de0e4c72f12f39409e
sha256sums = 2df82046908015bf26bc1303275cf52ba01fa380029a54ea6415373e389e423c
sha256sums = 0d6b53940a81ebaf4e6b1a2208a178eb8a824d6a3d8e863bf9c4c7e0060d88ec
pkgname = ffmpeg-git

View File

@ -1,44 +0,0 @@
From 95aab0fd83619408995720ce53d7a74790580220 Mon Sep 17 00:00:00 2001
From: "liberato@chromium.org" <liberato@chromium.org>
Date: Wed, 7 Jul 2021 19:01:22 -0700
Subject: [PATCH] Add av_stream_get_first_dts for Chromium
[foutrelis: adjust for new FFStream struct replacing AVStreamInternal]
---
libavformat/avformat.h | 4 ++++
libavformat/utils.c | 7 +++++++
2 files changed, 11 insertions(+)
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index cd7b0d941c..b4a6dce885 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -1010,6 +1010,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 de7580c32d..0ef0fe530e 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -121,6 +121,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 st->internal->parser;

View File

@ -0,0 +1,29 @@
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -1128,6 +1128,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
/**
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -55,6 +55,13 @@ int ff_unlock_avformat(void)
return ff_mutex_unlock(&avformat_mutex) ? -1 : 0;
}
+// Chromium: We use the internal field first_dts vvv
+int64_t av_stream_get_first_dts(const AVStream *st)
+{
+ return ffstream(st)->first_dts;
+}
+// Chromium: We use the internal field first_dts ^^^
+
/* an arbitrarily chosen "sane" max packet size -- 50M */
#define SANE_CHUNK_SIZE (50000000)

View File

@ -4,7 +4,7 @@
# Contributor: DrZaius <lou at fakeoutdoorsman.com>
pkgname=ffmpeg-git
pkgver=5.1.r106386.ge78173557d
pkgver=5.1.r106894.g260d7d5a6c
pkgrel=1
pkgdesc='Complete solution to record, convert and stream audio and video (git version)'
arch=('x86_64')
@ -85,14 +85,14 @@ provides=('libavcodec.so' 'libavdevice.so' 'libavfilter.so' 'libavformat.so'
'ffmpeg')
conflicts=('ffmpeg')
source=('git+https://git.ffmpeg.org/ffmpeg.git'
'010-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch'
'040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch'
'060-ffmpeg-fix-segfault-with-avisynthplus.patch')
sha256sums=('SKIP'
'91973c465f01446a999f278f0c2a3763304994dba1ac35de0e4c72f12f39409e'
'2df82046908015bf26bc1303275cf52ba01fa380029a54ea6415373e389e423c'
'0d6b53940a81ebaf4e6b1a2208a178eb8a824d6a3d8e863bf9c4c7e0060d88ec')
prepare() {
patch -d ffmpeg -Np1 -i "${srcdir}/010-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch"
patch -d ffmpeg -Np1 -i "${srcdir}/040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch"
patch -d ffmpeg -Np1 -i "${srcdir}/060-ffmpeg-fix-segfault-with-avisynthplus.patch"
}