Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
aports
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Monitor
Service Desk
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
alpine
aports
Commits
52277717
Commit
52277717
authored
3 years ago
by
alice
Committed by
alice
3 years ago
Browse files
Options
Downloads
Patches
Plain Diff
testing/qt6-qtwebengine: add ffmpeg5 support
parent
02a19f84
Loading
Loading
1 merge request
!32072
testing/qt6-qtwebengine: add ffmpeg5 support
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
testing/qt6-qtwebengine/APKBUILD
+4
-2
4 additions, 2 deletions
testing/qt6-qtwebengine/APKBUILD
testing/qt6-qtwebengine/ffmpeg5.patch
+151
-0
151 additions, 0 deletions
testing/qt6-qtwebengine/ffmpeg5.patch
with
155 additions
and
2 deletions
testing/qt6-qtwebengine/APKBUILD
+
4
−
2
View file @
52277717
...
...
@@ -2,7 +2,7 @@
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname
=
qt6-qtwebengine
pkgver
=
6.2.3
pkgrel
=
2
pkgrel
=
3
pkgdesc
=
"Provides support for web applications using the Chromium browser project"
url
=
"https://qt.io/"
# s390x blocked by qt6-qtdeclarative
...
...
@@ -13,7 +13,7 @@ arch="all !s390x !ppc64le !riscv64 !armv7 !x86 !armhf"
license
=
"LGPL-2.1-only AND LGPL-3.0-only AND GPL-3.0-only AND Qt-GPL-exception-1.0"
depends_dev
=
"
alsa-lib-dev
ffmpeg
4
-dev
ffmpeg-dev
icu-dev
krb5-dev
lcms2-dev
...
...
@@ -64,6 +64,7 @@ source="https://download.qt.io/$_rel/qt/${pkgver%.*}/${pkgver/_/-}/submodules/qt
0006-musl-hacks.patch
0007-musl-sandbox.patch
default-pthread-stacksize.patch
ffmpeg5.patch
"
build
()
{
...
...
@@ -116,4 +117,5 @@ b021664599128cd614daaf39f7592ea98b3d1d5815a9768ff11515fad28b723f678df78d5fe3122e
b9e836b7084a6c4d0c86c03c6a7700e5296133dd0dbef0b1059ed5c8c4d10873db65379be46e83f8a6d03dd557a7bdd83414a54dd4a8febd49b5c40d948200de 0006-musl-hacks.patch
f7380e97018a93c786a95650646d135ceb326ecdb615ffdcb1ed004f1c2ca2e1da1a5b0729969b7f2fed60c8fa048b36db055df4cca4bdedc8a7060c65ac5bd7 0007-musl-sandbox.patch
f4cb20796922b6e26433a18ab2ba5dd8750e8bbfb479e9416a362073c9e6a3ac12ee9e9868f6c9335b374b9d8ca8bed2e322e5ac3fe694a6ec6ddce8bd9b801b default-pthread-stacksize.patch
9bb044a33449e71363448850e6e3fb55387cc98b35c1c78f373a1654b2cb177be635e810d3f6fb7da31ed67058bca25df2811d9ad9020e1a149afd640288156a ffmpeg5.patch
"
This diff is collapsed.
Click to expand it.
testing/qt6-qtwebengine/ffmpeg5.patch
0 → 100644
+
151
−
0
View file @
52277717
Patch-Source: https://github.com/archlinux/svntogit-packages/blob/aa88ff67e48b8e2b50bac7a7810505588b9afd04/trunk/qt6-webengine-ffmpeg5.patch
diff --git a/chromium/media/ffmpeg/ffmpeg_common.h b/chromium/media/ffmpeg/ffmpeg_common.h
index 2734a485cbd..70b1877a43c 100644
--- a/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h
+++ b/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h
@@ -29,6 +29,7 @@
extern "C" {
#include <libavformat/avformat.h>
#include <libavformat/avio.h>
#include <libavutil/avutil.h>
+#include <libavutil/channel_layout.h>
#include <libavutil/imgutils.h>
#include <libavutil/log.h>
#include <libavutil/mastering_display_metadata.h>
diff --git a/src/3rdparty/chromium/media/filters/audio_file_reader.cc b/src/3rdparty/chromium/media/filters/audio_file_reader.cc
index cb81d920def..bd73908d0ca 100644
--- a/src/3rdparty/chromium/media/filters/audio_file_reader.cc
+++ b/src/3rdparty/chromium/media/filters/audio_file_reader.cc
@@ -85,7 +85,7 @@
bool AudioFileReader::OpenDemuxer() {
}
bool AudioFileReader::OpenDecoder() {
- AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
+ const AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
if (codec) {
// MP3 decodes to S16P which we don't support, tell it to use S16 instead.
if (codec_context_->sample_fmt == AV_SAMPLE_FMT_S16P)
diff --git a/src/3rdparty/chromium/media/filters/ffmpeg_audio_decoder.cc b/src/3rdparty/chromium/media/filters/ffmpeg_audio_decoder.cc
index 0d825ed791b..72fac6167ef 100644
--- a/src/3rdparty/chromium/media/filters/ffmpeg_audio_decoder.cc
+++ b/src/3rdparty/chromium/media/filters/ffmpeg_audio_decoder.cc
@@ -329,7 +329,7 @@
bool FFmpegAudioDecoder::ConfigureDecoder(const AudioDecoderConfig& config) {
}
}
- AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
+ const AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
if (!codec ||
avcodec_open2(codec_context_.get(), codec, &codec_options) < 0) {
DLOG(ERROR) << "Could not initialize audio decoder: "
diff --git a/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc b/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc
index d34db63f3ef..427565b00c1 100644
--- a/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc
+++ b/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc
@@ -98,12 +98,12 @@
static base::TimeDelta ExtractStartTime(AVStream* stream) {
// Next try to use the first DTS value, for codecs where we know PTS == DTS
// (excludes all H26x codecs). The start time must be returned in PTS.
- if (stream->first_dts != kNoFFmpegTimestamp &&
+ if (av_stream_get_first_dts(stream) != kNoFFmpegTimestamp &&
stream->codecpar->codec_id != AV_CODEC_ID_HEVC &&
stream->codecpar->codec_id != AV_CODEC_ID_H264 &&
stream->codecpar->codec_id != AV_CODEC_ID_MPEG4) {
const base::TimeDelta first_pts =
- ConvertFromTimeBase(stream->time_base, stream->first_dts);
+ ConvertFromTimeBase(stream->time_base, av_stream_get_first_dts(stream));
if (first_pts < start_time)
start_time = first_pts;
}
@@ -408,11 +408,11 @@
void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
scoped_refptr<DecoderBuffer> buffer;
if (type() == DemuxerStream::TEXT) {
- int id_size = 0;
+ size_t id_size = 0;
uint8_t* id_data = av_packet_get_side_data(
packet.get(), AV_PKT_DATA_WEBVTT_IDENTIFIER, &id_size);
- int settings_size = 0;
+ size_t settings_size = 0;
uint8_t* settings_data = av_packet_get_side_data(
packet.get(), AV_PKT_DATA_WEBVTT_SETTINGS, &settings_size);
@@ -424,7 +424,7 @@
void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
buffer = DecoderBuffer::CopyFrom(packet->data, packet->size,
side_data.data(), side_data.size());
} else {
- int side_data_size = 0;
+ size_t side_data_size = 0;
uint8_t* side_data = av_packet_get_side_data(
packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size);
@@ -485,7 +485,7 @@
void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
packet->size - data_offset);
}
- int skip_samples_size = 0;
+ size_t skip_samples_size = 0;
const uint32_t* skip_samples_ptr =
reinterpret_cast<const uint32_t*>(av_packet_get_side_data(
packet.get(), AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size));
diff --git a/src/3rdparty/chromium/media/filters/ffmpeg_glue.cc b/src/3rdparty/chromium/media/filters/ffmpeg_glue.cc
index 0ef3521473d..8483ecc348f 100644
--- a/src/3rdparty/chromium/media/filters/ffmpeg_glue.cc
+++ b/src/3rdparty/chromium/media/filters/ffmpeg_glue.cc
@@ -59,7 +59,6 @@
static int64_t AVIOSeekOperation(void* opaque, int64_t offset, int whence) {
}
void FFmpegGlue::InitializeFFmpeg() {
- av_register_all();
}
static void LogContainer(bool is_local_file,
@@ -95,9 +94,6 @@
FFmpegGlue::FFmpegGlue(FFmpegURLProtocol* protocol) {
// Enable fast, but inaccurate seeks for MP3.
format_context_->flags |= AVFMT_FLAG_FAST_SEEK;
- // Ensures we can read out various metadata bits like vp8 alpha.
- format_context_->flags |= AVFMT_FLAG_KEEP_SIDE_DATA;
-
// Ensures format parsing errors will bail out. From an audit on 11/2017, all
// instances were real failures. Solves bugs like http://crbug.com/710791.
format_context_->error_recognition |= AV_EF_EXPLODE;
diff --git a/src/3rdparty/chromium/media/filters/ffmpeg_video_decoder.cc b/src/3rdparty/chromium/media/filters/ffmpeg_video_decoder.cc
index ef12477ee89..7996606f5f9 100644
--- a/src/3rdparty/chromium/media/filters/ffmpeg_video_decoder.cc
+++ b/src/3rdparty/chromium/media/filters/ffmpeg_video_decoder.cc
@@ -391,7 +391,7 @@
bool FFmpegVideoDecoder::ConfigureDecoder(const VideoDecoderConfig& config,
if (decode_nalus_)
codec_context_->flags2 |= AV_CODEC_FLAG2_CHUNKS;
- AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
+ const AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
if (!codec || avcodec_open2(codec_context_.get(), codec, NULL) < 0) {
ReleaseFFmpegResources();
return false;
diff --git a/src/3rdparty/chromium/media/filters/media_file_checker.cc b/src/3rdparty/chromium/media/filters/media_file_checker.cc
index 59c2a2fc618..1a9872c7acb 100644
--- a/src/3rdparty/chromium/media/filters/media_file_checker.cc
+++ b/src/3rdparty/chromium/media/filters/media_file_checker.cc
@@ -68,7 +68,7 @@
bool MediaFileChecker::Start(base::TimeDelta check_time) {
auto context = AVStreamToAVCodecContext(format_context->streams[i]);
if (!context)
continue;
- AVCodec* codec = avcodec_find_decoder(cp->codec_id);
+ const AVCodec* codec = avcodec_find_decoder(cp->codec_id);
if (codec && avcodec_open2(context.get(), codec, nullptr) >= 0) {
auto loop = std::make_unique<FFmpegDecodingLoop>(context.get());
stream_contexts[i] = {std::move(context), std::move(loop)};
diff --git a/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc b/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc
index 9002b874611..d12fade8b63 100644
--- a/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc
+++ b/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc
@@ -203,7 +203,7 @@
int32_t H264DecoderImpl::InitDecode(const VideoCodec* codec_settings,
// a pointer |this|.
av_context_->opaque = this;
- AVCodec* codec = avcodec_find_decoder(av_context_->codec_id);
+ const AVCodec* codec = avcodec_find_decoder(av_context_->codec_id);
if (!codec) {
// This is an indication that FFmpeg has not been initialized or it has not
// been compiled/initialized with the correct set of codecs.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment