summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libreal/Makefile.am12
-rw-r--r--src/libreal/audio_decoder.c36
-rw-r--r--src/libreal/real_common.c57
-rw-r--r--src/libreal/real_common.h47
-rw-r--r--src/libreal/xine_decoder.c18
5 files changed, 111 insertions, 59 deletions
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) {
@@ -627,24 +611,6 @@ static void dispose_class (audio_decoder_class_t *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) {