[oe] [meta-multimedia][jethro][PATCH] gstreamer: fix argument parsing when using Bison 3

akuster808 akuster808 at gmail.com
Thu Apr 28 20:21:44 UTC 2016


On 4/28/16 11:27 AM, Stefan Agner wrote:
> On 2016-03-25 11:16, Stefan Agner wrote:
>> On 2016-03-25 03:37, Martin Jansa wrote:
>>> On Thu, Mar 24, 2016 at 04:26:56PM -0700, Stefan Agner wrote:
>>>> From: Stefan Agner <stefan.agner at toradex.com>
>>>>
>>>> Remove the argument fix patch and add a patch which fixes the
>>>> grammer.y Bison input file. YYLEX_PARAM seems to be no longer
>>>> supported and has been replaced with %parse-param which has
>>>> been introduced already in 2003.
>>>>
>>>> This fixes a segmentation fault when launching gst-launch-0.10.
>>> Is this needed in master branch as well?
>> Yes.
>>
>>> All changes for released branch should go to master first.
>>>
>> Sorry, should have added [master] to the subject.
>
> This has made it to the master branch in between but has (not yet?) been
> applied to jethro. Any chance to get it into jethro too?

merged to staging

thanks,
Armin
>
> http://git.openembedded.org/meta-openembedded/commit/?id=6132a35f8cf3906acef4ba54b7d8819a82e05be0
>
> --
> Stefan
>
>>>> Signed-off-by: Stefan Agner <stefan.agner at toradex.com>
>>>> ---
>>>> This is the stack trace of the segmentation fault:
>>>> (gdb) bt
>>>> #0  priv_gst_parse_yylex (yylval_param=yylval_param at entry=0xbe8a4224, yyscanner=0xc8) at lex.priv_gst_parse_yy.c:1153
>>>> #1  0x4022d712 in priv_gst_parse_yyparse (scanner=<optimized out>, graph=graph at entry=0xbe8a47ec) at grammar.tab.c:1821
>>>> #2  0x4022f18c in priv_gst_parse_launch (
>>>>     str=0x94f28 "filesrc location=/home/root_2p_key60_q90_aac128_44.mp4 ! qtdemuxemux demux.video_00 ! nv_omx_h264dec ! nv_gl_eglimagesink demux.audio_00 ! nv_omx_aacdec ! alsasink device=hw:0,0 ",
>>>>     error=error at entry=0xbe8a4910, ctx=ctx at entry=0x0, flags=flags at entry=GST_PARSE_FLAG_NONE) at /usr/src/debug/gstreamer/0.10.36-r2/gstreamer-0.10.36/gst/parse/grammar.y:927
>>>> #3  0x402277b8 in gst_parse_launch_full (
>>>>     pipeline_description=0x94f28 "filesrc location=/home/root_2p_key60_q90_aac128_44.mp4 ! qtdemuxemux demux.video_00 ! nv_omx_h264dec ! nv_gl_eglimagesink demux.audio_00 ! nv_omx_aacdec ! alsasink device=hw:0,0 ", context=context at entry=0x0, flags=flags at entry=GST_PARSE_FLAG_NONE, error=error at entry=0xbe8a4910) at /usr/src/debug/gstreamer/0.10.36-r2/gstreamer-0.10.36/gst/gstparse.c:336
>>>> #4  0x40227968 in gst_parse_launchv_full (argv=argv at entry=0x7ad50, context=context at entry=0x0, flags=flags at entry=GST_PARSE_FLAG_NONE, error=error at entry=0xbe8a4910)
>>>>     at /usr/src/debug/gstreamer/0.10.36-r2/gstreamer-0.10.36/gst/gstparse.c:272
>>>> #5  0x402279f2 in gst_parse_launchv (argv=argv at entry=0x7ad50, error=error at entry=0xbe8a4910) at /usr/src/debug/gstreamer/0.10.36-r2/gstreamer-0.10.36/gst/gstparse.c:224
>>>> #6  0x0000a6d8 in main (argc=16, argv=0xbe8a4ca4) at /usr/src/debug/gstreamer/0.10.36-r2/gstreamer-0.10.36/tools/gst-launch.c:1031
>>>>
>>>>  ...01-parse-make-grammar.y-work-with-Bison-3.patch | 35 ++++++++++++++++++++++
>>>>  ...mer-change-priv_gst_parse_yylex-arguments.patch | 33 --------------------
>>>>  .../gstreamer-0.10/gstreamer_0.10.36.bb            |  2 +-
>>>>  3 files changed, 36 insertions(+), 34 deletions(-)
>>>>  create mode 100644 meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0001-parse-make-grammar.y-work-with-Bison-3.patch
>>>>  delete mode 100644 meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstreamer-change-priv_gst_parse_yylex-arguments.patch
>>>>
>>>> diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0001-parse-make-grammar.y-work-with-Bison-3.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0001-parse-make-grammar.y-work-with-Bison-3.patch
>>>> new file mode 100644
>>>> index 0000000..dc2d606
>>>> --- /dev/null
>>>> +++ b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0001-parse-make-grammar.y-work-with-Bison-3.patch
>>>> @@ -0,0 +1,35 @@
>>>> +From 60516f4798894f958fc53b470e1283318d0f8706 Mon Sep 17 00:00:00 2001
>>>> +From: Kerrick Staley <kerrick at kerrickstaley.com>
>>>> +Date: Tue, 20 Aug 2013 23:59:29 -0700
>>>> +Subject: [PATCH 1/2] 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
>>>> +--
>>>> +2.7.2
>>>> +
>>>> diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstreamer-change-priv_gst_parse_yylex-arguments.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstreamer-change-priv_gst_parse_yylex-arguments.patch
>>>> deleted file mode 100644
>>>> index bf93cb2..0000000
>>>> --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstreamer-change-priv_gst_parse_yylex-arguments.patch
>>>> +++ /dev/null
>>>> @@ -1,33 +0,0 @@
>>>> -gstreamer: change priv_gst_parse_yylex arguments
>>>> -
>>>> -Change priv_gst_parse_yylex to fit new bison version, else we will
>>>> -get following error:
>>>> -
>>>> -| grammar.tab.c: In function 'priv_gst_parse_yyparse':
>>>> -| grammar.tab.c:67:25: error: too few arguments to function 'priv_gst_parse_yylex'
>>>> -|  #define yylex           priv_gst_parse_yylex
>>>> -|                          ^
>>>> -
>>>> -Upstream-Status: Pending
>>>> -
>>>> -Signed-off-by: Chong Lu <Chong.Lu at windriver.com>
>>>> ----
>>>> - 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..24fe906 100644
>>>> ---- a/gst/parse/grammar.y
>>>> -+++ b/gst/parse/grammar.y
>>>> -@@ -36,7 +36,7 @@
>>>> -
>>>> - typedef void* yyscan_t;
>>>> -
>>>> --int priv_gst_parse_yylex (void * yylval_param , yyscan_t yyscanner);
>>>> -+int priv_gst_parse_yylex (yyscan_t yyscanner);
>>>> - int priv_gst_parse_yylex_init (yyscan_t scanner);
>>>> - int priv_gst_parse_yylex_destroy (yyscan_t scanner);
>>>> - struct yy_buffer_state * priv_gst_parse_yy_scan_string (char* , yyscan_t);
>>>> ---
>>>> -1.9.1
>>>> -
>>>> diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb
>>>> index 5b30603..ad7cf99 100644
>>>> --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb
>>>> +++ b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb
>>>> @@ -15,7 +15,7 @@ SRC_URI = "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.bz
>>>>             file://check_fix.patch \
>>>>             file://gst-inspect-check-error.patch \
>>>>             file://0001-baseparse-Fix-self-comparison-always-evaluates-to-tr.patch \
>>>> -           file://gstreamer-change-priv_gst_parse_yylex-arguments.patch \
>>>> +           file://0001-parse-make-grammar.y-work-with-Bison-3.patch \
>>>>  "
>>>>
>>>>  SRC_URI[md5sum] = "a0cf7d6877f694a1a2ad2b4d1ecb890b"
>>>> --
>>>> 1.9.1
>>>>
>>>> --
>>>> _______________________________________________
>>>> Openembedded-devel mailing list
>>>> Openembedded-devel at lists.openembedded.org
>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel




More information about the Openembedded-devel mailing list