[Bug 655319] New: compilation error of gst-plugins0.10-bad-0.10.22 [WITH PATCH]
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Tue Jul 26 02:08:26 PDT 2011
https://bugzilla.gnome.org/show_bug.cgi?id=655319
GStreamer | gst-plugins-bad | 0.10.22
Summary: compilation error of gst-plugins0.10-bad-0.10.22 [WITH
PATCH]
Classification: Platform
Product: GStreamer
Version: 0.10.22
OS/Version: NetBSD
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-bad
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: rhialto at azenomei.knuffel.net
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
See also short mail thread starting at
http://mail-index.netbsd.org/pkgsrc-users/2011/07/15/msg014690.html. Below is
the mail with the short version of the issue and the solution I found.
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;
}
What I don't understand is this: This code obviously can't compile. I checked
the git versions, and apparently they have not changed. Yet I have not been
able to find other complaints about this, which suggests that there is no
problem. How to reconcile these views?
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list