extra/qt5-webengine to 5.10.1-2

This commit is contained in:
Kevin Mihelich 2018-05-12 16:43:37 +00:00
parent 8afe5fef7d
commit 3f42674401
2 changed files with 96 additions and 1 deletions

View file

@ -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
}

View 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) {