summaryrefslogtreecommitdiff
path: root/src/post/deinterlace
diff options
context:
space:
mode:
authorDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2006-07-10 22:08:12 +0000
committerDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2006-07-10 22:08:12 +0000
commite70c5600f5653c6915931717bdd52f9a6a2f2d9d (patch)
treea0d5282f9deb660def1026701c8e68a273099ede /src/post/deinterlace
parent32ad3ca6265c8cbac584dd3510109b920415a8e1 (diff)
downloadxine-lib-e70c5600f5653c6915931717bdd52f9a6a2f2d9d.tar.gz
xine-lib-e70c5600f5653c6915931717bdd52f9a6a2f2d9d.tar.bz2
Implement visibility support, available on GCC 4.0 and later and on some 3.4 (through backports), to avoid exporting unneeded internal symbols, making plugins' loading faster and use of internal copies of libraries more solid. It should automatically fall back to the old way in GCCs that does not support -fvisibility=hidden, but has to be tested carefully. No issues were found in the months of testing in Gentoo, but this requires special attention anyway.
CVS patchset: 8101 CVS date: 2006/07/10 22:08:12
Diffstat (limited to 'src/post/deinterlace')
-rw-r--r--src/post/deinterlace/Makefile.am3
-rw-r--r--src/post/deinterlace/plugins/Makefile.am3
-rw-r--r--src/post/deinterlace/xine_plugin.c4
3 files changed, 6 insertions, 4 deletions
diff --git a/src/post/deinterlace/Makefile.am b/src/post/deinterlace/Makefile.am
index 29853a405..0914e114a 100644
--- a/src/post/deinterlace/Makefile.am
+++ b/src/post/deinterlace/Makefile.am
@@ -13,7 +13,8 @@ xineplug_post_tvtime_la_SOURCES = xine_plugin.c \
xineplug_post_tvtime_la_LIBADD = $(XINE_LIB) \
$(top_builddir)/src/post/deinterlace/plugins/libdeinterlaceplugins.la
+xineplug_post_tvtime_la_CFLAGS = $(VISIBILITY_FLAG)
xineplug_post_tvtime_la_LDFLAGS = -avoid-version -module \
- @XINE_PLUGIN_MIN_SYMS@ @IMPURE_TEXT_LDFLAGS@
+ @IMPURE_TEXT_LDFLAGS@
noinst_HEADERS = deinterlace.h pulldown.h speedtools.h speedy.h tvtime.h
diff --git a/src/post/deinterlace/plugins/Makefile.am b/src/post/deinterlace/plugins/Makefile.am
index 7c5a0770c..e6e785211 100644
--- a/src/post/deinterlace/plugins/Makefile.am
+++ b/src/post/deinterlace/plugins/Makefile.am
@@ -48,6 +48,7 @@ libdeinterlaceplugins_la_SOURCES = \
kdetv_greedyh.c \
kdetv_tomsmocomp.c
libdeinterlaceplugins_la_LIBADD = $(XINE_LIB)
-libdeinterlaceplugins_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+libdeinterlaceplugins_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
+libdeinterlaceplugins_la_LDFLAGS = -avoid-version -module
noinst_HEADERS = plugins.h greedyhmacros.h
diff --git a/src/post/deinterlace/xine_plugin.c b/src/post/deinterlace/xine_plugin.c
index 07d2bd448..64b7a02cf 100644
--- a/src/post/deinterlace/xine_plugin.c
+++ b/src/post/deinterlace/xine_plugin.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: xine_plugin.c,v 1.50 2006/06/02 22:18:58 dsalt Exp $
+ * $Id: xine_plugin.c,v 1.51 2006/07/10 22:08:44 dgp85 Exp $
*
* advanced video deinterlacer plugin
* Jun/2003 by Miguel Freitas
@@ -47,7 +47,7 @@ static void *deinterlace_init_plugin(xine_t *xine, void *);
/* plugin catalog information */
static const post_info_t deinterlace_special_info = { XINE_POST_TYPE_VIDEO_FILTER };
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* type, API, "name", version, special_info, init_function */
{ PLUGIN_POST | PLUGIN_MUST_PRELOAD, 9, "tvtime", XINE_VERSION_CODE, &deinterlace_special_info, &deinterlace_init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }