[arch-commits] Commit in electron/trunk (PKGBUILD chromium-use-system-ffmpeg.patch)

Nicola Squartini tensor5 at archlinux.org
Tue Apr 24 13:45:31 UTC 2018


    Date: Tuesday, April 24, 2018 @ 13:45:30
  Author: tensor5
Revision: 317554

upgpkg: electron 1.8.4-2

FFmpeg 4.0 rebuild.

Modified:
  electron/trunk/PKGBUILD
  electron/trunk/chromium-use-system-ffmpeg.patch

----------------------------------+
 PKGBUILD                         |    4 -
 chromium-use-system-ffmpeg.patch |   81 +++++++++++++++++++++++++++++++++++++
 2 files changed, 83 insertions(+), 2 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-04-24 13:04:50 UTC (rev 317553)
+++ PKGBUILD	2018-04-24 13:45:30 UTC (rev 317554)
@@ -5,7 +5,7 @@
 _freetype_rev=5a3490e054bda8a318ebde482
 pkgname=electron
 pkgver=1.8.4
-pkgrel=1
+pkgrel=2
 pkgdesc='Build cross platform desktop apps with web technologies'
 arch=('x86_64')
 url='http://electron.atom.io/'
@@ -93,7 +93,7 @@
             '25e5d1051a11ef3158314b06dcb880fbed93d04a793a2c242fb8f01e867620549924b26abcac657f6edec9b9e3a78f198171a528d2567189df75e0a27f12925a'
             'acf6a43e89a49fb5d21fa165fe3a6b6a73b766fec05f952d11f48840ccb7c6640c1f946d87fb9b700f330a4eeffbd05346cc97def3de892b700439cad2a8e7bd'
             '09a910f14c4466a74638af0505dbdbbf586813b0a20506ac15ae375037a1f06f82fea4045350f1e54357dd41fb721061c7cc2f0eea2e3a0439a79466db3875ea'
-            '39309580c96220ae503ecd811e1f4c593fea028804d3ba4026a83c0928b941a0ca851b6d76ee289ee48671eb0bd2187c81f26495c6ca92ce6a96baf3c9464274'
+            '647525cedf274e191a603cdf60f877cb850be9d08193da965ee38a28907b615e29a46ebb27ae69f49825504743775b6d88266965be89e37f739330d1d3c3f4e0'
             'eace29bd99f7167ac2e5b7499560ec7e6c205eeee8fd0adef8cc7de3cef5058f9852dd2cc20946d637ed479d25b270c35d52de6f104f41000faa36dc018f63aa'
             '5552e8918462f6c3a4e1baef3c22b57d70c732766945ea0b39f63df7d7b8fca9646f1f9b28b0528fa586799842c949298fc97e1041875da0ca1aacff046f6c9b')
 

Modified: chromium-use-system-ffmpeg.patch
===================================================================
--- chromium-use-system-ffmpeg.patch	2018-04-24 13:04:50 UTC (rev 317553)
+++ chromium-use-system-ffmpeg.patch	2018-04-24 13:45:30 UTC (rev 317554)
@@ -1,3 +1,57 @@
+--- a/media/base/decoder_buffer.h
++++ b/media/base/decoder_buffer.h
+@@ -37,7 +37,7 @@
+     : public base::RefCountedThreadSafe<DecoderBuffer> {
+  public:
+   enum {
+-    kPaddingSize = 32,
++    kPaddingSize = 64,
+ #if defined(ARCH_CPU_ARM_FAMILY)
+     kAlignmentSize = 16
+ #else
+--- a/media/ffmpeg/ffmpeg_common.cc
++++ b/media/ffmpeg/ffmpeg_common.cc
+@@ -30,10 +30,10 @@
+ 
+ }  // 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
+@@ -429,11 +429,11 @@
+   } 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);
+   }
+ }
+ 
+@@ -570,11 +570,11 @@
+   } 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);
+   }
+ }
+ 
 --- a/media/ffmpeg/ffmpeg_common.h
 +++ b/media/ffmpeg/ffmpeg_common.h
 @@ -23,10 +23,12 @@
@@ -23,6 +77,17 @@
  #include <libavformat/avio.h>
  #include <libavutil/avutil.h>
  #include <libavutil/imgutils.h>
+--- a/media/filters/ffmpeg_audio_decoder.cc
++++ b/media/filters/ffmpeg_audio_decoder.cc
+@@ -372,7 +372,7 @@
+ 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
 --- a/media/filters/ffmpeg_demuxer.cc
 +++ b/media/filters/ffmpeg_demuxer.cc
 @@ -1223,6 +1223,7 @@
@@ -41,3 +106,19 @@
  
    std::unique_ptr<MediaTracks> media_tracks(new MediaTracks());
  
+--- a/media/filters/ffmpeg_video_decoder.cc
++++ b/media/filters/ffmpeg_video_decoder.cc
+@@ -423,12 +423,11 @@
+   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) {



More information about the arch-commits mailing list