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 728443 - Duplicated symbols in several plugins
Duplicated symbols in several plugins
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: packages
git master
Other All
: Normal blocker
: 1.3.91
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-04-17 16:59 UTC by Andoni Morales
Modified: 2014-07-04 12:57 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
add cms and colorspace to libgstvideo (86.71 KB, patch)
2014-06-06 09:50 UTC, Vincent Penquerc'h
needs-work Details | Review
videoconvert: use the new lib (356.55 KB, patch)
2014-06-06 09:53 UTC, Vincent Penquerc'h
none Details | Review
videomixer: use the new lib (74.33 KB, patch)
2014-06-06 09:53 UTC, Vincent Penquerc'h
none Details | Review
add cms/converter to video (88.52 KB, patch)
2014-06-09 10:37 UTC, Vincent Penquerc'h
none Details | Review
videoconvert: use moved libs (355.76 KB, patch)
2014-06-09 10:37 UTC, Vincent Penquerc'h
none Details | Review
videmixer: use moved libs (74.33 KB, patch)
2014-06-09 10:38 UTC, Vincent Penquerc'h
none Details | Review
videomixer: use moved libs (74.32 KB, patch)
2014-06-09 12:44 UTC, Vincent Penquerc'h
none Details | Review

Description Andoni Morales 2014-04-17 16:59:50 UTC
The package steps reports several duplicated symbols (https://jenkins.arracacha.collabora.co.uk/job/cerbero-ios-universal-7.1/28/console)

_color_set
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_color_matrix_YCbCr_to_RGB
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_iconv_locale_charset
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libcharset_a_armv7_-localcharset.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libiconv_a_armv7_-localcharset.o:
_color_matrix_copy
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_color_matrix_invert
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_color_matrix_build_bt709_to_bt601
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_gst_download_rate_get_max_length
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstdashdemux_a_armv7_-libgstdashdemux_la-gstdownloadrate.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstsmoothstreaming_a_armv7_-libgstsmoothstreaming_la-gstdownloadrate.o:
_strverscmp
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgnutls-openssl_a_armv7_-strverscmp.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libtasn1_a_armv7_-strverscmp.o:
_color_transfer_function_apply
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_gst_audio_visualizer_get_type
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstaudiovisualizers_a_armv7_-libgstaudiovisualizers_la-gstaudiovisualizer.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstlibvisual_a_armv7_-libgstlibvisual_la-gstaudiovisualizer.o:
_color_matrix_build_yuv_to_rgb_601
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_color_matrix_offset_components
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_color_XYZ_to_xyY
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_gst_download_rate_add_rate
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstdashdemux_a_armv7_-libgstdashdemux_la-gstdownloadrate.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstsmoothstreaming_a_armv7_-libgstsmoothstreaming_la-gstdownloadrate.o:
_gst_download_rate_init
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstdashdemux_a_armv7_-libgstdashdemux_la-gstdownloadrate.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstsmoothstreaming_a_armv7_-libgstsmoothstreaming_la-gstdownloadrate.o:
_gst_download_rate_deinit
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstdashdemux_a_armv7_-libgstdashdemux_la-gstdownloadrate.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstsmoothstreaming_a_armv7_-libgstsmoothstreaming_la-gstdownloadrate.o:
_gst_download_rate_clear
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstdashdemux_a_armv7_-libgstdashdemux_la-gstdownloadrate.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstsmoothstreaming_a_armv7_-libgstsmoothstreaming_la-gstdownloadrate.o:
_color_matrix_build_XYZ
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_color_transfer_function_unapply
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_color_matrix_build_rgb_to_XYZ_601
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_color_matrix_build_XYZ_to_rgb_709
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_color_matrix_apply
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_color_matrix_transpose
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_gst_download_rate_get_current_rate
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstdashdemux_a_armv7_-libgstdashdemux_la-gstdownloadrate.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstsmoothstreaming_a_armv7_-libgstsmoothstreaming_la-gstdownloadrate.o:
_color_matrix_scale_components
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_color_gamut_clamp
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_color_xyY_to_XYZ
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_color_matrix_dump
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_gst_download_rate_set_max_length
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstdashdemux_a_armv7_-libgstdashdemux_la-gstdownloadrate.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstsmoothstreaming_a_armv7_-libgstsmoothstreaming_la-gstdownloadrate.o:
_color_matrix_build_rgb_to_yuv_601
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_color_matrix_set_identity
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_color_matrix_RGB_to_YCbCr
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_color_matrix_build_XYZ_to_rgb_dell
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
_color_matrix_multiply
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideoconvert_a_armv7_-libgstvideoconvert_la-gstcms.o:
     /var/folders/8m/ghzrk8x509n66px4t2p0ybgr0000gv/T/tmpIGNFDy/armv7/GStreamer:libgstvideomixer_a_armv7_-libgstvideomixer_la-gstcms.o:
Comment 1 Edward Hervey 2014-04-18 06:40:43 UTC
As a side note, shouldn't we make that step fail in cerbero ?
Comment 2 Edward Hervey 2014-04-18 06:56:16 UTC
Would using the hidden attribute (via G_GNUC_INTERNAL) fix this ?
Comment 3 Sebastian Dröge (slomo) 2014-04-18 07:38:17 UTC
(In reply to comment #2)
> Would using the hidden attribute (via G_GNUC_INTERNAL) fix this ?

No, as we link it all into a single file on iOS and Android. G_GNUC_INTERNAL only makes sure that the symbol is not visible outside a single DSO, but inside the DSO you would still have the conflicts
Comment 4 Vincent Penquerc'h 2014-06-06 09:50:46 UTC
Created attachment 278002 [details] [review]
add cms and colorspace to libgstvideo

At least some of these were a couple external files that were copied in two elements. Seemed useful to have as a lib. I had to rename videoconvert to colorspace to avoid collision with the videoconvert element once I added the Gst/gst prefixes.
Comment 5 Vincent Penquerc'h 2014-06-06 09:53:00 UTC
Created attachment 278003 [details] [review]
videoconvert: use the new lib
Comment 6 Vincent Penquerc'h 2014-06-06 09:53:30 UTC
Created attachment 278004 [details] [review]
videomixer: use the new lib
Comment 7 Vincent Penquerc'h 2014-06-06 09:55:24 UTC
How do I update the ORC dist files ? I found an orc-update target in common/orc.mak but no top level target.
Comment 8 Sebastian Dröge (slomo) 2014-06-06 11:35:29 UTC
Review of attachment 278002 [details] [review]:

::: gst-libs/gst/video/Makefile.am
@@ +71,3 @@
+	video-overlay-composition.h \
+	colorspaceconvert.h	\
+	gstcms.h

They should all be included by video.h

::: gst-libs/gst/video/colorspaceconvert.h
@@ +26,3 @@
+G_BEGIN_DECLS
+
+typedef struct _GstColorSpaceConvert GstColorSpaceConvert;

Maybe all this should be called GstVideoConvert or GstVideoConverter or something like that? It's not (only) about colorspace conversion

@@ +32,3 @@
+  DITHER_VERTERR,
+  DITHER_HALFTONE
+} GstColorSpaceDitherMethod;

Namespace pollution. GST_COLOR_SPACE_DITHER_METHOD_NONE, etc

@@ +62,3 @@
+  void (*convert)      (GstColorSpaceConvert *convert, GstVideoFrame *dest, const GstVideoFrame *src);
+  void (*matrix)       (GstColorSpaceConvert *convert, gpointer pixels);
+  void (*dither16)     (GstColorSpaceConvert *convert, guint16 * pixels, int j);

No padding and not sure if we want all these fields public, or even any of them. Probably not and it should just go to the .c file

::: gst-libs/gst/video/gstcms.h
@@ +70,3 @@
+void gst_cms_color_transfer_function_unapply (GstCMSColor * dest,
+    GstCMSColor * src);
+void gst_cms_color_gamut_clamp (GstCMSColor * dest, GstCMSColor * src);

Should this be public API at all? Or just internally used by the colorspace convert functions? Maybe don't install the header until someone actually needs this :)
Comment 9 Vincent Penquerc'h 2014-06-09 08:00:33 UTC
GstVideoConvert is the element name and type (collision). Converter is possible, but that sounded confusing, so this was name cms... Converter seem fine if closeness to convert is not an issue.

About public stuff, fair enough. I just moved the code away and renamed for collisions. I'll move the implementation to private.
Comment 10 Vincent Penquerc'h 2014-06-09 10:37:02 UTC
Created attachment 278128 [details] [review]
add cms/converter to video
Comment 11 Vincent Penquerc'h 2014-06-09 10:37:38 UTC
Created attachment 278129 [details] [review]
videoconvert: use moved libs
Comment 12 Vincent Penquerc'h 2014-06-09 10:38:08 UTC
Created attachment 278130 [details] [review]
videmixer: use moved libs
Comment 13 Vincent Penquerc'h 2014-06-09 10:38:43 UTC
Comments applied, except for reserved space, since the structure is now private.
Comment 14 Tim-Philipp Müller 2014-06-09 10:41:10 UTC
The whole reason why this was added to videomixer internally is that we wanted to delay adding public API for this to libgstvideo until after the upcoming release...
Comment 15 Vincent Penquerc'h 2014-06-09 10:48:33 UTC
It seems the .*download.* ones may be fixed/different in a recent tree. I can't find some of the symbols and a downoader element was added after the core commit which is built in your log. Can you post a more recent one if it still is there for some symbols ?
Comment 16 Vincent Penquerc'h 2014-06-09 10:50:07 UTC
Tim, fair enough. Is the patch along the lines of what you'd intended to do eventually at that release ?
Comment 17 Tim-Philipp Müller 2014-06-09 11:06:15 UTC
I don't know, I haven't look at the patch in detail yet, I still think it should wait until after the release.
Comment 18 Vincent Penquerc'h 2014-06-09 12:44:02 UTC
Created attachment 278134 [details] [review]
videomixer: use moved libs
Comment 19 Vincent Penquerc'h 2014-06-09 14:49:48 UTC
Aside the *download* one, the remaining ones seem to be either audio visualizer (a private base class too, I guess it's private till deemed publicizable too), and system libs.
Comment 20 Sebastian Dröge (slomo) 2014-06-10 06:44:58 UTC
(In reply to comment #14)
> The whole reason why this was added to videomixer internally is that we wanted
> to delay adding public API for this to libgstvideo until after the upcoming
> release...

Note that "after the upcoming release" back then meant 1.2.0 :) But I agree that this should wait
Comment 21 Sebastian Dröge (slomo) 2014-06-23 18:47:48 UTC
Vincent, do you want to provide a patch that just prefixes the symbols in the other plugins?
Comment 22 Edward Hervey 2014-06-24 05:59:15 UTC
Note that, for kicks, there's now a videoconvert and cms in gst-plugins-bad/gst-libs/gst/video
Comment 23 Sebastian Dröge (slomo) 2014-06-28 15:15:26 UTC
I think all in our code are done now, what's left is libcharset/iconv and gnutls/libtasn1. We'll see after the next build.


Vincent, can you open another bug for moving the video conversion foo into libgstvideo so we can do that for 1.6? The API should probably be cleaned up a bit though (hide struct members, fix namespace pollution with the dither enum, etc). Also gstcms.[ch] should probably be internal and hidden.
Comment 24 Vincent Penquerc'h 2014-06-30 09:01:45 UTC
(In reply to comment #21)
> Vincent, do you want to provide a patch that just prefixes the symbols in the
> other plugins?

What do you mean ? Not leaving gstcms etc in each plugin, but add, eg, "Plugin1", "Plugin2", etc, in front of each copy ? :S