summaryrefslogtreecommitdiffstats
path: root/package/gstreamer1
diff options
context:
space:
mode:
authorPeter Seiderer <ps.report@gmx.net>2018-04-30 21:47:17 +0200
committerPeter Korsgaard <peter@korsgaard.com>2018-05-06 23:18:01 +0200
commit8d5667f185d4c0ce2cdaf0800b4f5680256d6a5c (patch)
tree3d3cff99a433e08cb21c3e0c04ff66803f209a62 /package/gstreamer1
parentd5eeda49583a090d8f8265aed1461d9ae4450ca8 (diff)
downloadbuildroot-8d5667f185d4c0ce2cdaf0800b4f5680256d6a5c.tar.gz
buildroot-8d5667f185d4c0ce2cdaf0800b4f5680256d6a5c.zip
gst1-plugins-ugly: fix x264 compile failure
Add upstream patch to fix compile with latest x264 library. Fixes [1]: gstx264enc.c: In function 'plugin_init': gstx264enc.c:2900:36: error: 'x264_bit_depth' undeclared (first use in this function); did you mean 'x264_picture_t'? default_vtable.x264_bit_depth = &x264_bit_depth; ^~~~~~~~~~~~~~ x264_picture_t [1] http://autobuild.buildroot.net/results/a766a28c584534b6a30839cfd98428d840bce3f2 Signed-off-by: Peter Seiderer <ps.report@gmx.net> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package/gstreamer1')
-rw-r--r--package/gstreamer1/gst1-plugins-ugly/0001-x264enc-fix-build-with-newer-x264-with-support-for-m.patch106
1 files changed, 106 insertions, 0 deletions
diff --git a/package/gstreamer1/gst1-plugins-ugly/0001-x264enc-fix-build-with-newer-x264-with-support-for-m.patch b/package/gstreamer1/gst1-plugins-ugly/0001-x264enc-fix-build-with-newer-x264-with-support-for-m.patch
new file mode 100644
index 0000000000..c7460470ae
--- /dev/null
+++ b/package/gstreamer1/gst1-plugins-ugly/0001-x264enc-fix-build-with-newer-x264-with-support-for-m.patch
@@ -0,0 +1,106 @@
+From ffa7ce1e19ec3930de667f213dcaedb7eb10508e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
+Date: Wed, 28 Feb 2018 10:07:13 +0000
+Subject: [PATCH] x264enc: fix build with newer x264 with support for multiple
+ bit depths
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+libx264 used to be built for one specific bit depth, and if we
+wanted to support multiple bit depths we would have to dynamically
+load the right .so from different paths. That has changed now, and
+libx264 can include support for multiple depths in the same lib,
+so we don't need to do the dlopen() dance any more. We'll keep
+the vtable stuff around until we can drop support for older x264.
+
+gstx264enc.c:2927:36: error: ‘x264_bit_depth’ undeclared
+
+https://bugzilla.gnome.org/show_bug.cgi?id=792111
+
+Upstream: https://cgit.freedesktop.org/gstreamer/gst-plugins-ugly/patch/ext/x264?id=83c38dc44622611c1f67dd26e4cb383c5aef90f6
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+---
+ ext/x264/gstx264enc.c | 35 ++++++++++++++++++++++++++++++++++-
+ 1 file changed, 34 insertions(+), 1 deletion(-)
+
+diff --git a/ext/x264/gstx264enc.c b/ext/x264/gstx264enc.c
+index 4287cf9..d1e4f2b 100644
+--- a/ext/x264/gstx264enc.c
++++ b/ext/x264/gstx264enc.c
+@@ -117,7 +117,9 @@ struct _GstX264EncVTable
+ {
+ GModule *module;
+
++#if X264_BUILD < 153
+ const int *x264_bit_depth;
++#endif
+ const int *x264_chroma_format;
+ void (*x264_encoder_close) (x264_t *);
+ int (*x264_encoder_delayed_frames) (x264_t *);
+@@ -170,8 +172,9 @@ load_x264 (const gchar * filename)
+ "' from '%s'. Incompatible version?", filename);
+ goto error;
+ }
+-
++#if X264_BUILD < 153
+ LOAD_SYMBOL (x264_bit_depth);
++#endif
+ LOAD_SYMBOL (x264_chroma_format);
+ LOAD_SYMBOL (x264_encoder_close);
+ LOAD_SYMBOL (x264_encoder_delayed_frames);
+@@ -288,6 +291,7 @@ gst_x264_enc_add_x264_chroma_format (GstStructure * s,
+ return ret;
+ }
+
++#if X264_BUILD < 153
+ static gboolean
+ load_x264_libraries (void)
+ {
+@@ -326,6 +330,33 @@ load_x264_libraries (void)
+ return TRUE;
+ }
+
++#else /* X264_BUILD >= 153 */
++
++static gboolean
++load_x264_libraries (void)
++{
++#if X264_BIT_DEPTH == 0 /* all */
++ vtable_8bit = &default_vtable;
++ vtable_10bit = &default_vtable;
++#elif X264_BIT_DEPTH == 8
++ vtable_8bit = &default_vtable;
++#elif X264_BIT_DEPTH == 10
++ vtable_10bit = &default_vtable;
++#else
++#error "unexpected X264_BIT_DEPTH value"
++#endif
++
++#ifdef HAVE_X264_ADDITIONAL_LIBRARIES
++ GST_WARNING ("Ignoring configured additional libraries %s, using libx264 "
++ "version enabled for multiple bit depths",
++ HAVE_X264_ADDITIONAL_LIBRARIES);
++#endif
++
++ return TRUE;
++}
++
++#endif
++
+ enum
+ {
+ ARG_0,
+@@ -2897,7 +2928,9 @@ plugin_init (GstPlugin * plugin)
+ * if needed. We can't initialize statically because these values are not
+ * constant on Windows. */
+ default_vtable.module = NULL;
++#if X264_BUILD < 153
+ default_vtable.x264_bit_depth = &x264_bit_depth;
++#endif
+ default_vtable.x264_chroma_format = &x264_chroma_format;
+ default_vtable.x264_encoder_close = x264_encoder_close;
+ default_vtable.x264_encoder_delayed_frames = x264_encoder_delayed_frames;
+--
+2.16.3
+
OpenPOWER on IntegriCloud