pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: [now WITH PATCH] compile failure in multimedia/gst-plugins0.10-bad?



On Fri 15 Jul 2011 at 17:54:27 +0200, Rhialto wrote:
> I'm compiling my bulk of updated stuff for the new pkgsrc-2011Q2 branch,
> using a pkg_comp chroot with a 5.0 userland.
> 
> With multimedia/gst-plugins0.10-bad I see a failure like this:

I've had some time to look into this more.

>   CC     libgstfragmented_la-gsthlsdemux.lo
> gsthlsdemux.c: In function 'gst_hls_demux_sink_event':
> gsthlsdemux.c:373: error: expected expression before 'void'
...

> The lines with errors look like this:

> ->  373         GST_ELEMENT_ERROR (demux, STREAM, DECODE, ("Invalid 
> playlist."),
>  NULL);

The 5th (last) argument to the GST_ELEMENT_ERROR macro, called debug, is
NULL.

> GST_ELEMENT_ERROR is defined in
> ./.buildlink/include/gstreamer-0.10/gst/gstelement.h:
> 
> /**
>  * GST_ELEMENT_ERROR:
>  * @el:     the element that generates the error
>  * @domain: like CORE, LIBRARY, RESOURCE or STREAM (see #gstreamer-GstGError)
>  * @code:   error code defined for that domain (see #gstreamer-GstGError)
>  * @text:   the message to display (format string and args enclosed in
>             parentheses)
>  * @debug:  debugging information for the message (format string and args
>             enclosed in parentheses)
>  * 
>  * Utility function that elements can use in case they encountered a fatal
>  * data processing error. The pipeline will post an error message and the
>  * application will be requested to stop further media processing.
>  */
> #define GST_ELEMENT_ERROR(el, domain, code, text, debug)                \
> G_STMT_START {                                                          \
>   gchar *__txt = _gst_element_error_printf text;                        \
>   gchar *__dbg = _gst_element_error_printf debug;                       \

This expands to gchar *__dbg = _gst_element_error_printf (void)0;

That is indeed a syntax error. 

The argument should be inside an extra pair of parentheses, like the
previous argument, text. Even the doc text I quoted mentions it,
in fact.

So, now the solution becomes simple: add this patch:


--- gst/hls/gsthlsdemux.c.orig  2011-07-25 14:52:33.000000000 +0000
+++ gst/hls/gsthlsdemux.c       2011-07-25 14:53:51.000000000 +0000
@@ -370,14 +370,14 @@
         /* In most cases, this will happen if we set a wrong url in the
          * source element and we have received the 404 HTML response instead of
          * the playlist */
-        GST_ELEMENT_ERROR (demux, STREAM, DECODE, ("Invalid playlist."), NULL);
+        GST_ELEMENT_ERROR (demux, STREAM, DECODE, ("Invalid playlist."), 
(NULL));
         return FALSE;
       }
 
       if (!ret && gst_m3u8_client_is_live (demux->client)) {
         GST_ELEMENT_ERROR (demux, RESOURCE, NOT_FOUND,
             ("Failed querying the playlist uri, "
-                "required for live sources."), NULL);
+                "required for live sources."), (NULL));
         return FALSE;
       }
 
@@ -605,7 +605,7 @@
 cache_error:
   {
     GST_ELEMENT_ERROR (demux, RESOURCE, NOT_FOUND,
-        ("Could not cache the first fragments"), NULL);
+        ("Could not cache the first fragments"), (NULL));
     gst_hls_demux_stop (demux);
     return;
   }
@@ -868,7 +868,7 @@
 state_change_error:
   {
     GST_ELEMENT_ERROR (demux, CORE, STATE_CHANGE,
-        ("Error changing state of the fetcher element."), NULL);
+        ("Error changing state of the fetcher element."), (NULL));
     bret = FALSE;
     goto quit;
   }

It is still unclear to me why apparently nobody else sees this. Unless
I'm the only one building this package. Is the version in pkgsrc
up-to-date?

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert  -- There's no point being grown-up if you 
\X/ rhialto/at/xs4all.nl    -- can't be childish sometimes. -The 4th Doctor


Home | Main Index | Thread Index | Old Index