Patchwork [1/2] gstreamer: Update to build ẃith bison >= 3.0.0

login
register
mail settings
Submitter Morten Svendsen
Date April 23, 2014, 1:22 p.m.
Message ID <21f34c02711b8b49cf3b00740cb6cbcc55305083.1398259308.git.Morten.ThunbergSvendsen@prevas.dk>
Download mbox | patch
Permalink /patch/341861/
State Accepted
Delegated to: Christian Sørensen
Headers show

Comments

Morten Svendsen - April 23, 2014, 1:22 p.m.
---
 ...rm-Fix-handling-of-reverse-caps-negotiati.patch | 38 +++++++++++++
 ...71-parse-make-grammar.y-work-with-Bison-3.patch | 35 ++++++++++++
 ...remove-silly-test_fail_abstract_new-check.patch | 62 ++++++++++++++++++++++
 recipes/gstreamer/gstreamer_0.10.36.oe             |  3 ++
 4 files changed, 138 insertions(+)
 create mode 100644 recipes/gstreamer/gstreamer-0.10.36/0170-basetransform-Fix-handling-of-reverse-caps-negotiati.patch
 create mode 100644 recipes/gstreamer/gstreamer-0.10.36/0171-parse-make-grammar.y-work-with-Bison-3.patch
 create mode 100644 recipes/gstreamer/gstreamer-0.10.36/0172-tests-remove-silly-test_fail_abstract_new-check.patch

Patch

diff --git a/recipes/gstreamer/gstreamer-0.10.36/0170-basetransform-Fix-handling-of-reverse-caps-negotiati.patch b/recipes/gstreamer/gstreamer-0.10.36/0170-basetransform-Fix-handling-of-reverse-caps-negotiati.patch
new file mode 100644
index 0000000..bb444a2
--- /dev/null
+++ b/recipes/gstreamer/gstreamer-0.10.36/0170-basetransform-Fix-handling-of-reverse-caps-negotiati.patch
@@ -0,0 +1,38 @@ 
+From 58c9324e015352ad970fc6acf3a56ce30e214068 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <slomo@circular-chaos.org>
+Date: Fri, 24 May 2013 22:58:19 +0200
+Subject: [PATCH 170/172] basetransform: Fix handling of reverse caps
+ negotiation if this element alone is not enough to do the transform
+
+For example if downstream wants a new width/height and color format and
+there's first a videoscale and then a ffmpegcolorspace. ffmpegcolorspace
+could do the color format conversion, but not the width/height and the
+other way around.
+---
+ libs/gst/base/gstbasetransform.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libs/gst/base/gstbasetransform.c b/libs/gst/base/gstbasetransform.c
+index e1fbaa9..25eb2b4 100644
+--- a/libs/gst/base/gstbasetransform.c
++++ b/libs/gst/base/gstbasetransform.c
+@@ -1974,7 +1974,7 @@ gst_base_transform_buffer_alloc (GstPad * pad, guint64 offset, guint size,
+           && !gst_caps_is_equal (sink_suggest, priv->sink_alloc);
+     }
+ 
+-    if (new_caps && (suggest || !gst_caps_can_intersect (sink_suggest, templ))) {
++    if (new_caps && !gst_caps_can_intersect (sink_suggest, templ)) {
+       GstCaps *allowed, *peercaps;
+ 
+       GST_DEBUG_OBJECT (trans,
+@@ -2023,6 +2023,7 @@ gst_base_transform_buffer_alloc (GstPad * pad, guint64 offset, guint size,
+         }
+ 
+         gst_caps_replace (&sink_suggest, allowed);
++        size_suggest = 0;
+         gst_caps_unref (allowed);
+ 
+         suggest = TRUE;
+-- 
+1.9.rc1
+
diff --git a/recipes/gstreamer/gstreamer-0.10.36/0171-parse-make-grammar.y-work-with-Bison-3.patch b/recipes/gstreamer/gstreamer-0.10.36/0171-parse-make-grammar.y-work-with-Bison-3.patch
new file mode 100644
index 0000000..c46c05d
--- /dev/null
+++ b/recipes/gstreamer/gstreamer-0.10.36/0171-parse-make-grammar.y-work-with-Bison-3.patch
@@ -0,0 +1,35 @@ 
+From 1c8c90e39e18829dfaec40fa5d3e14984cc3819f Mon Sep 17 00:00:00 2001
+From: Kerrick Staley <kerrick@kerrickstaley.com>
+Date: Tue, 20 Aug 2013 23:59:29 -0700
+Subject: [PATCH 171/172] parse: make grammar.y work with Bison 3
+
+YYLEX_PARAM is no longer supported in Bison 3.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=706462
+---
+ gst/parse/grammar.y | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gst/parse/grammar.y b/gst/parse/grammar.y
+index 24fc87b..7f9dd16 100644
+--- a/gst/parse/grammar.y
++++ b/gst/parse/grammar.y
+@@ -26,7 +26,6 @@
+  */
+ 
+ #define YYERROR_VERBOSE 1
+-#define YYLEX_PARAM scanner
+ 
+ #define YYENABLE_NLS 0
+ 
+@@ -648,6 +647,7 @@ static int yyerror (void *scanner, graph_t *graph, const char *s);
+ %right '.'
+ %left '!' '='
+ 
++%lex-param { void *scanner }
+ %parse-param { void *scanner }
+ %parse-param { graph_t *graph }
+ %pure-parser
+-- 
+1.9.rc1
+
diff --git a/recipes/gstreamer/gstreamer-0.10.36/0172-tests-remove-silly-test_fail_abstract_new-check.patch b/recipes/gstreamer/gstreamer-0.10.36/0172-tests-remove-silly-test_fail_abstract_new-check.patch
new file mode 100644
index 0000000..f298cb5
--- /dev/null
+++ b/recipes/gstreamer/gstreamer-0.10.36/0172-tests-remove-silly-test_fail_abstract_new-check.patch
@@ -0,0 +1,62 @@ 
+From 1c9dde1722839b56f0b76cc2b717bcd4b817f1c9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim.muller@collabora.co.uk>
+Date: Wed, 8 Aug 2012 14:49:23 +0100
+Subject: [PATCH 172/172] tests: remove silly test_fail_abstract_new check
+
+Our check would make sure that GLib segfaults when
+someone tries to instantiate an abstract type, which
+is an extremely useful thing to check for.
+
+In newer GLibs this is fixed and we get an abort with
+a g_error() now it seems, so let's just remove this
+check entirely.
+---
+ tests/check/gst/gstobject.c | 25 -------------------------
+ 1 file changed, 25 deletions(-)
+
+diff --git a/tests/check/gst/gstobject.c b/tests/check/gst/gstobject.c
+index d5956db..e338f49 100644
+--- a/tests/check/gst/gstobject.c
++++ b/tests/check/gst/gstobject.c
+@@ -72,19 +72,6 @@ gst_fake_object_get_type (void)
+   return fake_object_type;
+ }
+ 
+-#ifndef HAVE_OSX
+-/* g_object_new on abstract GstObject should fail */
+-GST_START_TEST (test_fail_abstract_new)
+-{
+-  GstObject *object;
+-
+-  ASSERT_CRITICAL (object = g_object_new (gst_object_get_type (), NULL));
+-  fail_unless (object == NULL, "Created an instance of abstract GstObject");
+-}
+-
+-GST_END_TEST;
+-#endif
+-
+ /* g_object_new on GstFakeObject should succeed */
+ GST_START_TEST (test_fake_object_new)
+ {
+@@ -529,18 +516,6 @@ gst_object_suite (void)
+   tcase_add_test (tc_chain, test_fake_object_has_ancestor);
+   //tcase_add_checked_fixture (tc_chain, setup, teardown);
+ 
+-  /* FIXME: GLib shouldn't crash here, but issue a warning and return a NULL
+-   * object, or at least g_error() and then abort properly ... (tpm) */
+-#ifndef HAVE_OSX
+-  /* Disabled for OS/X because a) it's a pretty silly test anyway and
+-   * b) different OS/X versions raise different signals and it isn't worth
+-   * the effort to try and detect which one should be producing which
+-   */
+-  /* SEGV tests go last so we can debug the others */
+-  if (g_getenv ("CK_FORK") == NULL || strcmp (g_getenv ("CK_FORK"), "no") != 0)
+-    tcase_add_test_raise_signal (tc_chain, test_fail_abstract_new, SIGSEGV);
+-#endif
+-
+   return s;
+ }
+ 
+-- 
+1.9.rc1
+
diff --git a/recipes/gstreamer/gstreamer_0.10.36.oe b/recipes/gstreamer/gstreamer_0.10.36.oe
index b274896..9a7b526 100644
--- a/recipes/gstreamer/gstreamer_0.10.36.oe
+++ b/recipes/gstreamer/gstreamer_0.10.36.oe
@@ -12,3 +12,6 @@  RDEPENDS_${PN}-dev:>USE_mad = " libmad-dev glib-libgio-dev"
 SRC_URI += "file://check_fix.patch"
 SRC_URI += "file://gst-inspect-check-error.patch"
 SRC_URI += "file://printf_fix.patch"
+SRC_URI += "file://0170-basetransform-Fix-handling-of-reverse-caps-negotiati.patch"
+SRC_URI += "file://0171-parse-make-grammar.y-work-with-Bison-3.patch"
+SRC_URI += "file://0172-tests-remove-silly-test_fail_abstract_new-check.patch"