After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 305524 - Cairo plugin does not compile with cairo 0.5
Cairo plugin does not compile with cairo 0.5
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins
0.8.x
Other All
: Normal normal
: 0.8.10
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 307036 307147 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2005-05-26 09:06 UTC by Jan de Groot
Modified: 2005-06-11 14:48 UTC
See Also:
GNOME target: ---
GNOME version: 2.9/2.10



Description Jan de Groot 2005-05-26 09:06:39 UTC
Please describe the problem:
The cairo guys changed their API again, which causes the cairo gst-plugin to
fail when compiling. I've looked in the source, but couldn't find an easy-fix
thing to get it to compile. The new cairo_create() API and the omiting of the
set_surface functions makes cairo not compatible with the design the current
plugin is implemented.

Steps to reproduce:
1. Install cairo 0.5
2. Try to compile gst-plugins with cairo plugin enabled
3. observe error


Actual results:
gsttimeoverlay.c: In function `gst_timeoverlay_setup':
gsttimeoverlay.c:211: error: too few arguments to function `cairo_create'
gsttimeoverlay.c:213: warning: implicit declaration of function
`cairo_set_rgb_color_REPLACED_BY_cairo_set_source_rgb'
gsttimeoverlay.c:215: warning: implicit declaration of function
`cairo_select_font_REPLACED_BY_cairo_select_font_face'
gsttimeoverlay.c:216: warning: implicit declaration of function
`cairo_scale_font_REPLACED_BY_cairo_set_font_size'
gsttimeoverlay.c:218: warning: implicit declaration of function
`cairo_current_font_extents_REPLACED_BY_cairo_font_extents'
gsttimeoverlay.c: In function `gst_timeoverlay_planar411':
gsttimeoverlay.c:269: warning: implicit declaration of function
`cairo_set_target_image_DEPRECATED_BY_cairo_image_surface_create_for_data'
gsttimeoverlay.c:274: warning: implicit declaration of function
`cairo_set_alpha_DEPRECATED_BY_cairo_set_source_rgba_OR_cairo_paint_with_alpha'
gsttimeoverlay.c:276: error: `CAIRO_OPERATOR_SRC' undeclared (first use in this
function)
gsttimeoverlay.c:276: error: (Each undeclared identifier is reported only once
gsttimeoverlay.c:276: error: for each function it appears in.)

Expected results:


Does this happen every time?


Other information:
Comment 1 Michaël Arnauts 2005-06-09 16:46:29 UTC
*** Bug 307036 has been marked as a duplicate of this bug. ***
Comment 2 Michaël Arnauts 2005-06-10 13:27:01 UTC
*** Bug 307147 has been marked as a duplicate of this bug. ***
Comment 3 Michaël Arnauts 2005-06-10 13:27:41 UTC
http://bugzilla.gnome.org/show_bug.cgi?id=307147 contains a patch.
Comment 4 Michaël Arnauts 2005-06-10 13:50:15 UTC
The patch from #307147 still has a gcc4 related problem:

cc1: warnings being treated as errors
gsttimeoverlay.c: In function 'gst_timeoverlay_planar411':
gsttimeoverlay.c:269: warning: pointer targets in passing argument 1 of
'cairo_image_surface_create_for_data' differ in signedness
gsttimeoverlay.c:281: warning: pointer targets in passing argument 2 of
'cairo_text_extents' differ in signedness
gsttimeoverlay.c:285: warning: pointer targets in passing argument 2 of
'cairo_show_text' differ in signedness
make[3]: *** [libgstcairo_la-gsttimeoverlay.lo] Error 1
make[3]: Leaving directory `/mnt/extra/Sources/gst-plugins/ext/cairo'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/mnt/extra/Sources/gst-plugins/ext'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/extra/Sources/gst-plugins'
make: *** [all] Error 2
Comment 5 Tim-Philipp Müller 2005-06-11 14:48:40 UTC
Fixed in CVS. I've opened bug #307289 to track the remaining issues.


2005-06-11  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	  Require cairo 0.5.x
	  
	* ext/cairo/gstcairo.c:
	  Change plugin name to 'cairo' - 'timeoverlay' doesn't make
	  much sense and conflicts with the pango timeoverlay plugin.

	* ext/cairo/gsttextoverlay.c: (gst_cairotextoverlay_get_type),
	(gst_textoverlay_render_text), (gst_textoverlay_loop),
	(gst_textoverlay_font_init), (gst_textoverlay_finalize),
	(gst_textoverlay_init), (gst_textoverlay_set_property):
	* ext/cairo/gsttextoverlay.h:
	* ext/cairo/gsttimeoverlay.c: (gst_cairotimeoverlay_get_type),
	(gst_timeoverlay_class_init), (gst_timeoverlay_setup),
	(gst_timeoverlay_planar411):
	* ext/cairo/gsttimeoverlay.h:
	  Make compile and somewhat work with cairo 0.5. The textoverlay
	  plugin is bitrotten and/or unfinished though and needs more
	  work (text positioning, invalid memory access, parse font-desc
	  property properly).

Cheers
 -Tim