mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-02-16 23:57:11 +00:00
extra/qt5-webengine to 5.10.1-2
This commit is contained in:
parent
8afe5fef7d
commit
3f42674401
2 changed files with 96 additions and 1 deletions
|
@ -11,7 +11,7 @@ highmem=1
|
|||
pkgname=qt5-webengine
|
||||
_qtver=5.10.1
|
||||
pkgver=${_qtver/-/}
|
||||
pkgrel=1
|
||||
pkgrel=2
|
||||
arch=('x86_64')
|
||||
url='http://qt-project.org/'
|
||||
license=('LGPL3' 'LGPL2.1' 'BSD')
|
||||
|
@ -24,10 +24,12 @@ _pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
|
|||
source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
|
||||
qtwebengine-harmony.patch
|
||||
qtwebengine-no-gpu.patch
|
||||
qtwebengine-ffmpeg4.patch
|
||||
'0001-ARM-toolchain-fixes.patch')
|
||||
sha256sums=('12644f8d2ba8354a2a533d5a7f3f5139c6ff168c2f51aa3e21b701db6dbc01de'
|
||||
'feca54ab09ac0fc9d0626770a6b899a6ac5a12173c7d0c1005bc3964ec83e7b3'
|
||||
'6cd70c37f3b3aea926f1ee20c1f59354f2a02d240dbf344c6dc0a75f8aa8e07b'
|
||||
'bbba71e97bae57245d2aba37684301924746e88e92091d6a248097c91dcda4a1'
|
||||
'8202b09a1caa82538a2eacd79b62b61d8661c65cdfb275560d231aa31a362b12')
|
||||
|
||||
prepare() {
|
||||
|
@ -45,6 +47,10 @@ prepare() {
|
|||
patch -p1 -i ../qtwebengine-no-gpu.patch
|
||||
|
||||
cd src/3rdparty
|
||||
# Fix build with ffmpeg 4
|
||||
patch -p1 -i "$srcdir"/qtwebengine-ffmpeg4.patch
|
||||
|
||||
# cd src/3rdparty
|
||||
patch -p1 -i ${srcdir}/0001-ARM-toolchain-fixes.patch
|
||||
}
|
||||
|
||||
|
|
89
extra/qt5-webengine/qtwebengine-ffmpeg4.patch
Normal file
89
extra/qt5-webengine/qtwebengine-ffmpeg4.patch
Normal file
|
@ -0,0 +1,89 @@
|
|||
diff --git a/chromium/media/base/decoder_buffer.h b/chromium/media/base/decoder_buffer.h
|
||||
index 0341e5784f..60ffba708b 100644
|
||||
--- a/chromium/media/base/decoder_buffer.h
|
||||
+++ b/chromium/media/base/decoder_buffer.h
|
||||
@@ -37,7 +37,7 @@ class MEDIA_EXPORT DecoderBuffer
|
||||
: public base::RefCountedThreadSafe<DecoderBuffer> {
|
||||
public:
|
||||
enum {
|
||||
- kPaddingSize = 32,
|
||||
+ kPaddingSize = 64,
|
||||
#if defined(ARCH_CPU_ARM_FAMILY)
|
||||
kAlignmentSize = 16
|
||||
#else
|
||||
diff --git a/chromium/media/ffmpeg/ffmpeg_common.cc b/chromium/media/ffmpeg/ffmpeg_common.cc
|
||||
index 61d0bc341c..d79c694555 100644
|
||||
--- a/chromium/media/ffmpeg/ffmpeg_common.cc
|
||||
+++ b/chromium/media/ffmpeg/ffmpeg_common.cc
|
||||
@@ -30,10 +30,10 @@ EncryptionScheme GetEncryptionScheme(const AVStream* stream) {
|
||||
|
||||
} // namespace
|
||||
|
||||
-// Why FF_INPUT_BUFFER_PADDING_SIZE? FFmpeg assumes all input buffers are
|
||||
+// Why AV_INPUT_BUFFER_PADDING_SIZE? FFmpeg assumes all input buffers are
|
||||
// padded. Check here to ensure FFmpeg only receives data padded to its
|
||||
// specifications.
|
||||
-static_assert(DecoderBuffer::kPaddingSize >= FF_INPUT_BUFFER_PADDING_SIZE,
|
||||
+static_assert(DecoderBuffer::kPaddingSize >= AV_INPUT_BUFFER_PADDING_SIZE,
|
||||
"DecoderBuffer padding size does not fit ffmpeg requirement");
|
||||
|
||||
// Alignment requirement by FFmpeg for input and output buffers. This need to
|
||||
@@ -444,11 +444,11 @@ void AudioDecoderConfigToAVCodecContext(const AudioDecoderConfig& config,
|
||||
} else {
|
||||
codec_context->extradata_size = config.extra_data().size();
|
||||
codec_context->extradata = reinterpret_cast<uint8_t*>(
|
||||
- av_malloc(config.extra_data().size() + FF_INPUT_BUFFER_PADDING_SIZE));
|
||||
+ av_malloc(config.extra_data().size() + AV_INPUT_BUFFER_PADDING_SIZE));
|
||||
memcpy(codec_context->extradata, &config.extra_data()[0],
|
||||
config.extra_data().size());
|
||||
memset(codec_context->extradata + config.extra_data().size(), '\0',
|
||||
- FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
+ AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -585,11 +585,11 @@ void VideoDecoderConfigToAVCodecContext(
|
||||
} else {
|
||||
codec_context->extradata_size = config.extra_data().size();
|
||||
codec_context->extradata = reinterpret_cast<uint8_t*>(
|
||||
- av_malloc(config.extra_data().size() + FF_INPUT_BUFFER_PADDING_SIZE));
|
||||
+ av_malloc(config.extra_data().size() + AV_INPUT_BUFFER_PADDING_SIZE));
|
||||
memcpy(codec_context->extradata, &config.extra_data()[0],
|
||||
config.extra_data().size());
|
||||
memset(codec_context->extradata + config.extra_data().size(), '\0',
|
||||
- FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
+ AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/chromium/media/filters/ffmpeg_audio_decoder.cc b/chromium/media/filters/ffmpeg_audio_decoder.cc
|
||||
index b4020b001d..41da2d3939 100644
|
||||
--- a/chromium/media/filters/ffmpeg_audio_decoder.cc
|
||||
+++ b/chromium/media/filters/ffmpeg_audio_decoder.cc
|
||||
@@ -368,7 +368,7 @@ void FFmpegAudioDecoder::ResetTimestampState(const AudioDecoderConfig& config) {
|
||||
int FFmpegAudioDecoder::GetAudioBuffer(struct AVCodecContext* s,
|
||||
AVFrame* frame,
|
||||
int flags) {
|
||||
- DCHECK(s->codec->capabilities & CODEC_CAP_DR1);
|
||||
+ DCHECK(s->codec->capabilities & AV_CODEC_CAP_DR1);
|
||||
DCHECK_EQ(s->codec_type, AVMEDIA_TYPE_AUDIO);
|
||||
|
||||
// Since this routine is called by FFmpeg when a buffer is required for audio
|
||||
diff --git a/chromium/media/filters/ffmpeg_video_decoder.cc b/chromium/media/filters/ffmpeg_video_decoder.cc
|
||||
index 42d044dd69..32f5c7b79d 100644
|
||||
--- a/chromium/media/filters/ffmpeg_video_decoder.cc
|
||||
+++ b/chromium/media/filters/ffmpeg_video_decoder.cc
|
||||
@@ -427,12 +427,11 @@ bool FFmpegVideoDecoder::ConfigureDecoder(const VideoDecoderConfig& config,
|
||||
codec_context_->thread_type =
|
||||
FF_THREAD_SLICE | (low_delay ? 0 : FF_THREAD_FRAME);
|
||||
codec_context_->opaque = this;
|
||||
- codec_context_->flags |= CODEC_FLAG_EMU_EDGE;
|
||||
codec_context_->get_buffer2 = GetVideoBufferImpl;
|
||||
codec_context_->refcounted_frames = 1;
|
||||
|
||||
if (decode_nalus_)
|
||||
- codec_context_->flags2 |= CODEC_FLAG2_CHUNKS;
|
||||
+ codec_context_->flags2 |= AV_CODEC_FLAG2_CHUNKS;
|
||||
|
||||
AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
|
||||
if (!codec || avcodec_open2(codec_context_.get(), codec, NULL) < 0) {
|
Loading…
Reference in a new issue