From f07c6cb7930d9f6e9842cc671ed86f687d456e57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20=27Flameeyes=27=20Petten=C3=B2?= Date: Fri, 16 Mar 2007 20:02:33 +0000 Subject: Move the __builtin functions in a different unit, and define them only on Alpha as that's the only architecture for which the binary codecs available on MPlayer site are needing them. Newer versions needs not these symbols, and for safety, I'd rather avoid messing with the global namespace. CVS patchset: 8679 CVS date: 2007/03/16 20:02:33 --- src/libreal/Makefile.am | 12 ++++------ src/libreal/audio_decoder.c | 36 +--------------------------- src/libreal/real_common.c | 57 +++++++++++++++++++++++++++++++++++++++++++++ src/libreal/real_common.h | 47 +++++++++++++++++++++++++++++++++++++ src/libreal/xine_decoder.c | 18 +------------- 5 files changed, 111 insertions(+), 59 deletions(-) create mode 100644 src/libreal/real_common.c create mode 100644 src/libreal/real_common.h (limited to 'src') diff --git a/src/libreal/Makefile.am b/src/libreal/Makefile.am index 72dac45a1..4c46db78c 100644 --- a/src/libreal/Makefile.am +++ b/src/libreal/Makefile.am @@ -1,15 +1,13 @@ include $(top_srcdir)/misc/Makefile.common -libdir = $(XINE_PLUGINDIR) +xineplug_LTLIBRARIES = xineplug_decode_real.la xineplug_decode_real_audio.la -lib_LTLIBRARIES = xineplug_decode_real.la xineplug_decode_real_audio.la - -xineplug_decode_real_la_SOURCES = xine_decoder.c +xineplug_decode_real_la_SOURCES = xine_decoder.c real_common.c xineplug_decode_real_la_LIBADD = $(XINE_LIB) $(DYNAMIC_LD_LIBS) xineplug_decode_real_la_CFLAGS = $(VISIBILITY_FLAG) -xineplug_decode_real_la_LDFLAGS = -avoid-version -module +xineplug_decode_real_la_LDFLAGS = $(xineplug_ldflags) -xineplug_decode_real_audio_la_SOURCES = audio_decoder.c +xineplug_decode_real_audio_la_SOURCES = audio_decoder.c real_common.c xineplug_decode_real_audio_la_LIBADD = $(XINE_LIB) $(DYNAMIC_LD_LIBS) xineplug_decode_real_audio_la_CFLAGS = $(VISIBILITY_FLAG) -xineplug_decode_real_audio_la_LDFLAGS = -avoid-version -module +xineplug_decode_real_audio_la_LDFLAGS = $(xineplug_ldflags) diff --git a/src/libreal/audio_decoder.c b/src/libreal/audio_decoder.c index d60e8f8e1..ebffce31d 100644 --- a/src/libreal/audio_decoder.c +++ b/src/libreal/audio_decoder.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: audio_decoder.c,v 1.52 2007/03/16 19:31:57 dgp85 Exp $ + * $Id: audio_decoder.c,v 1.53 2007/03/16 20:02:33 dgp85 Exp $ * * thin layer to use real binary-only codecs in xine * @@ -102,22 +102,6 @@ typedef struct { void *extras; } ra_init_t; -void *__builtin_new(unsigned long size); -void __builtin_delete (void *foo); -void *__builtin_vec_new(unsigned long size); -void __builtin_vec_delete(void *mem); -void __pure_virtual(void); - - -void *__builtin_new(unsigned long size) { - return malloc(size); -} - -void __builtin_delete (void *foo) { - /* printf ("libareal: __builtin_delete called\n"); */ - free (foo); -} - static int load_syms_linux (realdec_decoder_t *this, char *codec_name, const char *alt_codec_name) { @@ -626,24 +610,6 @@ static void dispose_class (audio_decoder_class_t *this) { free (this); } -/* - * some fake functions to make real codecs happy - */ -void *__builtin_vec_new(unsigned long size) EXPORTED; -void __builtin_vec_delete(void *mem) EXPORTED; -void __pure_virtual(void) EXPORTED; - -void *__builtin_vec_new(unsigned long size) { - return malloc(size); -} -void __builtin_vec_delete(void *mem) { - free(mem); -} -void __pure_virtual(void) { - lprintf("libareal: FATAL: __pure_virtual() called!\n"); - /* exit(1); */ -} - /* * real audio codec loader */ diff --git a/src/libreal/real_common.c b/src/libreal/real_common.c new file mode 100644 index 000000000..9df428106 --- /dev/null +++ b/src/libreal/real_common.c @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2000-2007 the xine project + * + * This file is part of xine, a free video player. + * + * xine is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * xine is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * + * $Id: real_common.c,v 1.1 2007/03/16 20:02:33 dgp85 Exp $ + * + * Common function for the thin layer to use Real binary-only codecs in xine + */ + +#define LOG_MODULE "real_common" +#define LOG_VERBOSE +/* +#define LOG +*/ + +#include "real_common.h" + +#ifdef __alpha__ + +void *__builtin_new(size_t size) { + return malloc(size); +} + +void __builtin_delete (void *foo) { + /* printf ("libareal: __builtin_delete called\n"); */ + free (foo); +} + +void *__builtin_vec_new(size_t size) { + return malloc(size); +} + +void __builtin_vec_delete(void *mem) { + free(mem); +} + +void __pure_virtual(void) { + lprintf("libreal: FATAL: __pure_virtual() called!\n"); + /* exit(1); */ +} + +#endif diff --git a/src/libreal/real_common.h b/src/libreal/real_common.h new file mode 100644 index 000000000..83336a809 --- /dev/null +++ b/src/libreal/real_common.h @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2000-2007 the xine project + * + * This file is part of xine, a free video player. + * + * xine is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * xine is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * + * $Id: real_common.h,v 1.1 2007/03/16 20:02:33 dgp85 Exp $ + * + * Common function for the thin layer to use Real binary-only codecs in xine + */ + +#ifndef __REAL_COMMON_H__ +#define __REAL_COMMON_H__ + +#include "xine_internal.h" + +/* + * some fake functions to make real codecs happy + * These are, on current date (20070316) needed only for Alpha + * codecs. + * As they are far from being proper replacements, define them only there + * until new codecs are available there too. + */ +#ifdef __alpha__ + +void *__builtin_new(size_t size); +void __builtin_delete (void *foo); +void *__builtin_vec_new(size_t size) EXPORTED; +void __builtin_vec_delete(void *mem) EXPORTED; +void __pure_virtual(void) EXPORTED; + +#endif + +#endif diff --git a/src/libreal/xine_decoder.c b/src/libreal/xine_decoder.c index 28770636b..779f577e2 100644 --- a/src/libreal/xine_decoder.c +++ b/src/libreal/xine_decoder.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_decoder.c,v 1.86 2007/03/16 19:31:57 dgp85 Exp $ + * $Id: xine_decoder.c,v 1.87 2007/03/16 20:02:33 dgp85 Exp $ * * thin layer to use real binary-only codecs in xine * @@ -522,23 +522,7 @@ static void dispose_class (video_decoder_class_t *this) { free (this); } -/* - * some fake functions to make real codecs happy - */ -void *__builtin_vec_new(uint32_t size) EXPORTED; -void __builtin_vec_delete(void *mem) EXPORTED; -void __pure_virtual(void) EXPORTED; -void *__builtin_vec_new(uint32_t size) { - return malloc(size); -} -void __builtin_vec_delete(void *mem) { - free(mem); -} -void __pure_virtual(void) { - lprintf("libreal: FATAL: __pure_virtual() called!\n"); - /* exit(1); */ -} static void *init_class (xine_t *xine, void *data) { -- cgit v1.2.3