summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am5
-rw-r--r--src/combined/Makefile.am11
-rw-r--r--src/combined/decoder_flac.c (renamed from src/libflac/decoder_flac.c)0
-rw-r--r--src/combined/demux_flac.c (renamed from src/libflac/demux_flac.c)0
-rw-r--r--src/combined/demux_flac.h (renamed from src/libflac/demux_flac.h)0
-rw-r--r--src/liba52/Makefile.am8
-rw-r--r--src/liba52/xine_a52_decoder.c (renamed from src/liba52/xine_decoder.c)0
-rw-r--r--src/libdts/Makefile.am8
-rw-r--r--src/libdts/xine_dts_decoder.c (renamed from src/libdts/xine_decoder.c)0
-rw-r--r--src/libfaad/Makefile.am8
-rw-r--r--src/libfaad/xine_faad_decoder.c (renamed from src/libfaad/xine_decoder.c)0
-rw-r--r--src/libffmpeg/Makefile.am23
-rw-r--r--src/libffmpeg/ff_audio_decoder.c (renamed from src/libffmpeg/audio_decoder.c)2
-rw-r--r--src/libffmpeg/ff_dvaudio_decoder.c (renamed from src/libffmpeg/dvaudio_decoder.c)0
-rw-r--r--src/libffmpeg/ff_mpeg_parser.c (renamed from src/libffmpeg/mpeg_parser.c)2
-rw-r--r--src/libffmpeg/ff_mpeg_parser.h (renamed from src/libffmpeg/mpeg_parser.h)2
-rw-r--r--src/libffmpeg/ff_video_decoder.c (renamed from src/libffmpeg/video_decoder.c)4
-rw-r--r--src/libffmpeg/ffmpeg_decoder.c (renamed from src/libffmpeg/xine_decoder.c)2
-rw-r--r--src/libffmpeg/ffmpeg_decoder.h (renamed from src/libffmpeg/xine_decoder.h)0
-rw-r--r--src/libffmpeg/ffmpeg_encoder.c (renamed from src/libffmpeg/xine_encoder.c)0
-rw-r--r--src/libflac/Makefile.am14
-rw-r--r--src/liblpcm/Makefile.am10
-rw-r--r--src/libmad/Makefile.am8
-rw-r--r--src/libmad/xine_mad_decoder.c (renamed from src/libmad/xine_decoder.c)0
-rw-r--r--src/libmpeg2/Makefile.am12
-rw-r--r--src/libmpeg2/xine_mpeg2_decoder.c (renamed from src/libmpeg2/xine_decoder.c)0
-rw-r--r--src/libmpeg2new/Makefile.am11
-rw-r--r--src/libmpeg2new/xine_mpeg2new_decoder.c (renamed from src/libmpeg2new/xine_decoder.c)0
-rw-r--r--src/libmusepack/Makefile.am9
-rw-r--r--src/libmusepack/xine_musepack_decoder.c (renamed from src/libmusepack/xine_decoder.c)0
-rw-r--r--src/libreal/Makefile.am2
-rw-r--r--src/libreal/xine_real_audio_decoder.c (renamed from src/libreal/audio_decoder.c)0
-rw-r--r--src/libreal/xine_real_video_decoder.c (renamed from src/libreal/xine_decoder.c)0
-rw-r--r--src/libspeex/Makefile.am14
-rw-r--r--src/libspucc/Makefile.am2
-rw-r--r--src/libspucc/xine_cc_decoder.c (renamed from src/libspucc/xine_decoder.c)0
-rw-r--r--src/libspucmml/Makefile.am8
-rw-r--r--src/libspucmml/xine_cmml_decoder.c (renamed from src/libspucmml/xine_decoder.c)0
-rw-r--r--src/libspudec/Makefile.am10
-rw-r--r--src/libspudec/xine_spu_decoder.c (renamed from src/libspudec/xine_decoder.c)0
-rw-r--r--src/libspudvb/Makefile.am4
-rw-r--r--src/libspudvb/xine_spudvb_decoder.c (renamed from src/libspudvb/xine_decoder.c)0
-rw-r--r--src/libsputext/Makefile.am10
-rw-r--r--src/libsputext/xine_sputext_decoder.c (renamed from src/libsputext/xine_decoder.c)0
-rw-r--r--src/libtheora/Makefile.am15
-rw-r--r--src/libvorbis/Makefile.am14
-rw-r--r--src/libxineadec/Makefile.am41
-rw-r--r--src/libxineadec/xine_lpcm_decoder.c (renamed from src/liblpcm/xine_decoder.c)0
-rw-r--r--src/libxineadec/xine_speex_decoder.c (renamed from src/libspeex/xine_decoder.c)0
-rw-r--r--src/libxineadec/xine_vorbis_decoder.c (renamed from src/libvorbis/xine_decoder.c)0
-rw-r--r--src/libxinevdec/Makefile.am8
-rw-r--r--src/libxinevdec/xine_theora_decoder.c (renamed from src/libtheora/xine_decoder.c)0
-rw-r--r--src/xine-engine/audio_out.c3
-rw-r--r--src/xine-engine/broadcaster.c3
-rw-r--r--src/xine-engine/buffer_types.c4
-rw-r--r--src/xine-engine/input_rip.c3
-rw-r--r--src/xine-engine/osd.c8
-rw-r--r--src/xine-engine/video_overlay.c3
-rw-r--r--src/xine-engine/xine_interface.c4
-rw-r--r--src/xine-utils/ring_buffer.c11
60 files changed, 121 insertions, 185 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 0d5621593..6718b4805 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -20,15 +20,10 @@ SUBDIRS = \
libdts \
libmad \
libw32dll \
- liblpcm \
libxinevdec \
libxineadec \
- libvorbis \
- libtheora \
- libspeex \
libreal \
libfaad \
- libflac \
libmusepack \
post \
combined
diff --git a/src/combined/Makefile.am b/src/combined/Makefile.am
index 0d27f71c0..884fcf0cc 100644
--- a/src/combined/Makefile.am
+++ b/src/combined/Makefile.am
@@ -4,9 +4,18 @@ if HAVE_WAVPACK
xineplug_wavpack = xineplug_wavpack.la
endif
-xineplug_LTLIBRARIES = $(xineplug_wavpack)
+if HAVE_LIBFLAC
+xineplug_flac = xineplug_flac.la
+endif
+
+xineplug_LTLIBRARIES = $(xineplug_wavpack) $(xineplug_flac)
xineplug_wavpack_la_SOURCES = demux_wavpack.c decoder_wavpack.c combined_wavpack.c combined_wavpack.h
xineplug_wavpack_la_CFLAGS = $(VISIBILITY_FLAG) $(WAVPACK_CFLAGS) -I$(srcdir)/../demuxers
xineplug_wavpack_la_LIBADD = $(XINE_LIB) $(WAVPACK_LIBS)
xineplug_wavpack_la_LDFLAGS = $(xineplug_ldflags)
+
+xineplug_flac_la_SOURCES = demux_flac.c decoder_flac.c demux_flac.h
+xineplug_flac_la_CFLAGS = $(VISIBILITY_FLAG) $(LIBFLAC_CFLAGS)
+xineplug_flac_la_LIBADD = $(XINE_LIB) $(LIBFLAC_LIBS)
+xineplug_flac_la_LDFLAGS = $(xineplug_ldflags)
diff --git a/src/libflac/decoder_flac.c b/src/combined/decoder_flac.c
index 9b77cc27d..9b77cc27d 100644
--- a/src/libflac/decoder_flac.c
+++ b/src/combined/decoder_flac.c
diff --git a/src/libflac/demux_flac.c b/src/combined/demux_flac.c
index 43ee17d5c..43ee17d5c 100644
--- a/src/libflac/demux_flac.c
+++ b/src/combined/demux_flac.c
diff --git a/src/libflac/demux_flac.h b/src/combined/demux_flac.h
index 6086781d1..6086781d1 100644
--- a/src/libflac/demux_flac.h
+++ b/src/combined/demux_flac.h
diff --git a/src/liba52/Makefile.am b/src/liba52/Makefile.am
index f296a0ef3..6a0aebe62 100644
--- a/src/liba52/Makefile.am
+++ b/src/liba52/Makefile.am
@@ -1,12 +1,10 @@
include $(top_srcdir)/misc/Makefile.common
-libdir = $(XINE_PLUGINDIR)
-
if A52
a52_module = xineplug_decode_a52.la
endif
-lib_LTLIBRARIES = $(a52_module)
+xineplug_LTLIBRARIES = $(a52_module)
if EXTERNAL_A52DEC
internal_sources =
@@ -20,7 +18,7 @@ internal_sources = \
endif
xineplug_decode_a52_la_SOURCES = \
- xine_decoder.c \
+ xine_a52_decoder.c \
$(internal_sources)
if EXTERNAL_A52DEC
@@ -30,7 +28,7 @@ xineplug_decode_a52_la_LIBADD = $(XINE_LIB) -lm
endif
xineplug_decode_a52_la_CFLAGS = $(VISIBILITY_FLAG)
-xineplug_decode_a52_la_LDFLAGS = -avoid-version -module
+xineplug_decode_a52_la_LDFLAGS = $(xineplug_ldflags)
noinst_HEADERS = \
a52.h \
diff --git a/src/liba52/xine_decoder.c b/src/liba52/xine_a52_decoder.c
index 5435e9664..5435e9664 100644
--- a/src/liba52/xine_decoder.c
+++ b/src/liba52/xine_a52_decoder.c
diff --git a/src/libdts/Makefile.am b/src/libdts/Makefile.am
index 4cf54884f..207755f1f 100644
--- a/src/libdts/Makefile.am
+++ b/src/libdts/Makefile.am
@@ -1,12 +1,10 @@
include $(top_srcdir)/misc/Makefile.common
-libdir = $(XINE_PLUGINDIR)
-
if DTS
dts_module = xineplug_decode_dts.la
endif
-lib_LTLIBRARIES = $(dts_module)
+xineplug_LTLIBRARIES = $(dts_module)
if EXTERNAL_LIBDTS
fnsa =
@@ -16,9 +14,9 @@ fnsa = -fno-strict-aliasing
internal_sources = bitstream.c downmix.c parse.c
endif
-xineplug_decode_dts_la_SOURCES = xine_decoder.c $(internal_sources)
+xineplug_decode_dts_la_SOURCES = xine_dts_decoder.c $(internal_sources)
xineplug_decode_dts_la_CFLAGS = $(LIBDTS_CFLAGS) $(VISIBILITY_FLAG) $(fnsa)
-xineplug_decode_dts_la_LDFLAGS = -avoid-version -module
+xineplug_decode_dts_la_LDFLAGS = $(xineplug_ldflags)
if EXTERNAL_LIBDTS
xineplug_decode_dts_la_LIBADD = $(XINE_LIB) $(LIBDTS_LIBS) -lm
diff --git a/src/libdts/xine_decoder.c b/src/libdts/xine_dts_decoder.c
index 902d8c5b6..902d8c5b6 100644
--- a/src/libdts/xine_decoder.c
+++ b/src/libdts/xine_dts_decoder.c
diff --git a/src/libfaad/Makefile.am b/src/libfaad/Makefile.am
index dcc57792a..d1a4ed865 100644
--- a/src/libfaad/Makefile.am
+++ b/src/libfaad/Makefile.am
@@ -2,13 +2,11 @@ include $(top_srcdir)/misc/Makefile.common
SUBDIRS = codebook
-libdir = $(XINE_PLUGINDIR)
-
if BUILD_FAAD
faad_module = xineplug_decode_faad.la
endif
-lib_LTLIBRARIES = $(faad_module)
+xineplug_LTLIBRARIES = $(faad_module)
VPATH = @srcdir@:@srcdir@/codebook:
@@ -52,9 +50,9 @@ xineplug_decode_faad_la_SOURCES = \
ssr_ipqf.c \
syntax.c \
tns.c \
- xine_decoder.c
+ xine_faad_decoder.c
-xineplug_decode_faad_la_LDFLAGS = -avoid-version -module
+xineplug_decode_faad_la_LDFLAGS = $(xineplug_ldflags)
xineplug_decode_faad_la_LIBADD = -lm $(XINE_LIB)
noinst_HEADERS = \
diff --git a/src/libfaad/xine_decoder.c b/src/libfaad/xine_faad_decoder.c
index aa528a34d..aa528a34d 100644
--- a/src/libfaad/xine_decoder.c
+++ b/src/libfaad/xine_faad_decoder.c
diff --git a/src/libffmpeg/Makefile.am b/src/libffmpeg/Makefile.am
index 32a6072c5..864f5bacf 100644
--- a/src/libffmpeg/Makefile.am
+++ b/src/libffmpeg/Makefile.am
@@ -26,33 +26,30 @@ endif
DISTCLEANFILES = ffmpeg_config.h
# this must always be included, even if the current machine has no DXR3...
-EXTRA_DIST = xine_encoder.c diff_to_ffmpeg_cvs.txt
+EXTRA_DIST = ffmpeg_encoder.c diff_to_ffmpeg_cvs.txt
INTERNAL_DOCS = diff_to_ffmpeg_cvs.txt
-libdir = $(XINE_PLUGINDIR)
-
-lib_LTLIBRARIES = xineplug_decode_ff.la xineplug_decode_dvaudio.la
+xineplug_LTLIBRARIES = xineplug_decode_ff.la xineplug_decode_dvaudio.la
if HAVE_DXR3
AM_CPPFLAGS = -I$(top_srcdir)/src/dxr3 $(X_CFLAGS) $(ff_cppflags) \
$(ZLIB_CPPFLAGS)
-xineplug_decode_ff_la_SOURCES = xine_decoder.c audio_decoder.c video_decoder.c \
- xine_encoder.c mpeg_parser.c
+xineplug_decode_ff_la_SOURCES = ffmpeg_decoder.c ff_audio_decoder.c ff_video_decoder.c \
+ ffmpeg_encoder.c ff_mpeg_parser.c ffmpeg_decoder.h \
+ ff_mpeg_parser.h
else
AM_CPPFLAGS = $(ff_cppflags) $(ZLIB_CPPFLAGS)
-xineplug_decode_ff_la_SOURCES = xine_decoder.c audio_decoder.c video_decoder.c \
- mpeg_parser.c
+xineplug_decode_ff_la_SOURCES = ffmpeg_decoder.c ff_audio_decoder.c ff_video_decoder.c \
+ ff_mpeg_parser.c ffmpeg_decoder.h ff_mpeg_parser.h
endif
xineplug_decode_ff_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
-xineplug_decode_ff_la_LDFLAGS = -avoid-version -module @IMPURE_TEXT_LDFLAGS@
+xineplug_decode_ff_la_LDFLAGS = $(xineplug_ldflags) $(IMPURE_TEXT_LDFLAGS)
xineplug_decode_ff_la_LIBADD = $(MLIB_LIBS) $(XINE_LIB) -lm $(ZLIB_LIBS) \
$(link_ffmpeg) $(PTHREAD_LIBS)
xineplug_decode_dvaudio_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
-xineplug_decode_dvaudio_la_LDFLAGS = -avoid-version -module
-xineplug_decode_dvaudio_la_SOURCES = dvaudio_decoder.c
+xineplug_decode_dvaudio_la_LDFLAGS = $(xineplug_ldflags)
+xineplug_decode_dvaudio_la_SOURCES = ff_dvaudio_decoder.c
xineplug_decode_dvaudio_la_LIBADD = $(XINE_LIB)
-
-noinst_HEADERS = xine_decoder.h mpeg_parser.h
diff --git a/src/libffmpeg/audio_decoder.c b/src/libffmpeg/ff_audio_decoder.c
index 7ab1f56b4..e0d6e5cab 100644
--- a/src/libffmpeg/audio_decoder.c
+++ b/src/libffmpeg/ff_audio_decoder.c
@@ -45,7 +45,7 @@
#include "buffer.h"
#include "xineutils.h"
#include "bswap.h"
-#include "xine_decoder.h"
+#include "ffmpeg_decoder.h"
#define AUDIOBUFSIZE (64 * 1024)
diff --git a/src/libffmpeg/dvaudio_decoder.c b/src/libffmpeg/ff_dvaudio_decoder.c
index 985165611..985165611 100644
--- a/src/libffmpeg/dvaudio_decoder.c
+++ b/src/libffmpeg/ff_dvaudio_decoder.c
diff --git a/src/libffmpeg/mpeg_parser.c b/src/libffmpeg/ff_mpeg_parser.c
index 14a08a456..fcee29a80 100644
--- a/src/libffmpeg/mpeg_parser.c
+++ b/src/libffmpeg/ff_mpeg_parser.c
@@ -27,7 +27,7 @@
/*
#define LOG
*/
-#include "mpeg_parser.h"
+#include "ff_mpeg_parser.h"
/* mpeg frame rate table from lavc */
static const int frame_rate_tab[][2] = {
diff --git a/src/libffmpeg/mpeg_parser.h b/src/libffmpeg/ff_mpeg_parser.h
index 859a0fcec..b307714cc 100644
--- a/src/libffmpeg/mpeg_parser.h
+++ b/src/libffmpeg/ff_mpeg_parser.h
@@ -26,7 +26,7 @@
#define HAVE_MPEG_PARSER_H
#include "xine_internal.h"
-#include "xine_decoder.h"
+#include "ffmpeg_decoder.h"
#define BUFFER_SIZE (1194 * 1024) /* libmpeg2's buffer size */
diff --git a/src/libffmpeg/video_decoder.c b/src/libffmpeg/ff_video_decoder.c
index e366a945c..9ae0d791c 100644
--- a/src/libffmpeg/video_decoder.c
+++ b/src/libffmpeg/ff_video_decoder.c
@@ -45,8 +45,8 @@
#include "bswap.h"
#include "buffer.h"
#include "xineutils.h"
-#include "xine_decoder.h"
-#include "mpeg_parser.h"
+#include "ffmpeg_decoder.h"
+#include "ff_mpeg_parser.h"
#include <postprocess.h>
diff --git a/src/libffmpeg/xine_decoder.c b/src/libffmpeg/ffmpeg_decoder.c
index 2eeb9746b..6f85cc1fa 100644
--- a/src/libffmpeg/xine_decoder.c
+++ b/src/libffmpeg/ffmpeg_decoder.c
@@ -30,7 +30,7 @@
#include "xine_internal.h"
-#include "xine_decoder.h"
+#include "ffmpeg_decoder.h"
/*
* common initialisation
diff --git a/src/libffmpeg/xine_decoder.h b/src/libffmpeg/ffmpeg_decoder.h
index f005f09e5..f005f09e5 100644
--- a/src/libffmpeg/xine_decoder.h
+++ b/src/libffmpeg/ffmpeg_decoder.h
diff --git a/src/libffmpeg/xine_encoder.c b/src/libffmpeg/ffmpeg_encoder.c
index 8db721002..8db721002 100644
--- a/src/libffmpeg/xine_encoder.c
+++ b/src/libffmpeg/ffmpeg_encoder.c
diff --git a/src/libflac/Makefile.am b/src/libflac/Makefile.am
deleted file mode 100644
index 6449820bc..000000000
--- a/src/libflac/Makefile.am
+++ /dev/null
@@ -1,14 +0,0 @@
-include $(top_srcdir)/misc/Makefile.common
-
-libdir = $(XINE_PLUGINDIR)
-
-if HAVE_LIBFLAC
-lib_LTLIBRARIES = xineplug_flac.la
-endif
-
-xineplug_flac_la_SOURCES = demux_flac.c decoder_flac.c
-xineplug_flac_la_LIBADD = $(LIBFLAC_LIBS) $(XINE_LIB)
-xineplug_flac_la_CFLAGS = $(LIBFLAC_CFLAGS) $(VISIBILITY_FLAG)
-xineplug_flac_la_LDFLAGS = -avoid-version -module
-
-noinst_HEADERS = demux_flac.h
diff --git a/src/liblpcm/Makefile.am b/src/liblpcm/Makefile.am
deleted file mode 100644
index e8527ee5c..000000000
--- a/src/liblpcm/Makefile.am
+++ /dev/null
@@ -1,10 +0,0 @@
-include $(top_srcdir)/misc/Makefile.common
-
-libdir = $(XINE_PLUGINDIR)
-
-lib_LTLIBRARIES = xineplug_decode_lpcm.la
-
-xineplug_decode_lpcm_la_SOURCES = xine_decoder.c
-xineplug_decode_lpcm_la_LIBADD = $(XINE_LIB)
-xineplug_decode_lpcm_la_CFLAGS = $(VISIBILITY_FLAG)
-xineplug_decode_lpcm_la_LDFLAGS = -avoid-version -module
diff --git a/src/libmad/Makefile.am b/src/libmad/Makefile.am
index 8d704205b..c879645c5 100644
--- a/src/libmad/Makefile.am
+++ b/src/libmad/Makefile.am
@@ -4,13 +4,11 @@ AM_CFLAGS = -DOPT_SPEED
EXTRA_DIST = imdct_l_arm.S
-libdir = $(XINE_PLUGINDIR)
-
if MAD
mad_module = xineplug_decode_mad.la
endif
-lib_LTLIBRARIES = $(mad_module)
+xineplug_LTLIBRARIES = $(mad_module)
if EXTERNAL_LIBMAD
internal_sources =
@@ -29,7 +27,7 @@ internal_sources = \
endif
xineplug_decode_mad_la_SOURCES = \
- xine_decoder.c \
+ xine_mad_decoder.c \
$(internal_sources)
if EXTERNAL_LIBMAD
@@ -38,7 +36,7 @@ else
xineplug_decode_mad_la_LIBADD = $(XINE_LIB)
endif
xineplug_decode_mad_la_CFLAGS = $(LIBMAD_CFLAGS) $(VISIBILITY_FLAG)
-xineplug_decode_mad_la_LDFLAGS = -avoid-version -module
+xineplug_decode_mad_la_LDFLAGS = $(xineplug_ldflags)
noinst_HEADERS = \
D.dat \
diff --git a/src/libmad/xine_decoder.c b/src/libmad/xine_mad_decoder.c
index 28407cfec..28407cfec 100644
--- a/src/libmad/xine_decoder.c
+++ b/src/libmad/xine_mad_decoder.c
diff --git a/src/libmpeg2/Makefile.am b/src/libmpeg2/Makefile.am
index 550ce581f..66fb39f13 100644
--- a/src/libmpeg2/Makefile.am
+++ b/src/libmpeg2/Makefile.am
@@ -1,10 +1,6 @@
include $(top_srcdir)/misc/Makefile.common
-AM_CFLAGS = $(LIBMPEG2_CFLAGS)
-
-libdir = $(XINE_PLUGINDIR)
-
-lib_LTLIBRARIES = xineplug_decode_mpeg2.la
+xineplug_LTLIBRARIES = xineplug_decode_mpeg2.la
xineplug_decode_mpeg2_la_SOURCES = \
cpu_state.c \
@@ -23,12 +19,12 @@ xineplug_decode_mpeg2_la_SOURCES = \
slice_xvmc.c \
slice_xvmc_vld.c \
stats.c \
- xine_decoder.c \
+ xine_mpeg2_decoder.c \
libmpeg2_accel.c
xineplug_decode_mpeg2_la_LIBADD = $(MLIB_LIBS) $(XINE_LIB) -lm
-xineplug_decode_mpeg2_la_CFLAGS = $(VISIBILITY_FLAG)
-xineplug_decode_mpeg2_la_LDFLAGS = -avoid-version -module
+xineplug_decode_mpeg2_la_CFLAGS = $(VISIBILITY_FLAG) $(LIBMPEG2_CFLAGS)
+xineplug_decode_mpeg2_la_LDFLAGS = $(xineplug_ldflags)
noinst_HEADERS = vlc.h mpeg2.h xvmc.h xvmc_vld.h mpeg2_internal.h idct_mlib.h vis.h \
libmpeg2_accel.h
diff --git a/src/libmpeg2/xine_decoder.c b/src/libmpeg2/xine_mpeg2_decoder.c
index 8c0d176c0..8c0d176c0 100644
--- a/src/libmpeg2/xine_decoder.c
+++ b/src/libmpeg2/xine_mpeg2_decoder.c
diff --git a/src/libmpeg2new/Makefile.am b/src/libmpeg2new/Makefile.am
index 03dae6cba..49959da86 100644
--- a/src/libmpeg2new/Makefile.am
+++ b/src/libmpeg2new/Makefile.am
@@ -1,16 +1,13 @@
include $(top_srcdir)/misc/Makefile.common
-AM_CFLAGS = $(LIBMPEG2_CFLAGS)
-
SUBDIRS = libmpeg2
-libdir = $(XINE_PLUGINDIR)
-
-lib_LTLIBRARIES = xineplug_decode_mpeg2.la
+xineplug_LTLIBRARIES = xineplug_decode_mpeg2.la
xineplug_decode_mpeg2_la_SOURCES = \
- xine_decoder.c
+ xine_mpeg2_decoder.c
+xineplug_decode_mpeg2_la_CFLAGS = $(VISIBILITY_FLAG) $(LIBMPEG2_CFLAGS)
xineplug_decode_mpeg2_la_LIBADD = $(XINE_LIB) ./libmpeg2/libmpeg2.la
-xineplug_decode_mpeg2_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_decode_mpeg2_la_LDFLAGS = $(xineplug_ldflags)
diff --git a/src/libmpeg2new/xine_decoder.c b/src/libmpeg2new/xine_mpeg2new_decoder.c
index 9e36772b7..9e36772b7 100644
--- a/src/libmpeg2new/xine_decoder.c
+++ b/src/libmpeg2new/xine_mpeg2new_decoder.c
diff --git a/src/libmusepack/Makefile.am b/src/libmusepack/Makefile.am
index 021ec0985..d39426597 100644
--- a/src/libmusepack/Makefile.am
+++ b/src/libmusepack/Makefile.am
@@ -4,10 +4,8 @@ SUBDIRS = musepack
EXTRA_DIST = diff_against_svn.patch
-libdir = $(XINE_PLUGINDIR)
-
if MUSEPACK
-lib_LTLIBRARIES = xineplug_decode_mpc.la
+xineplug_LTLIBRARIES = xineplug_decode_mpc.la
endif
if EXTERNAL_MPCDEC
@@ -23,7 +21,6 @@ else
xineplug_decode_mpc_la_LIBADD = $(XINE_LIB)
endif
-xineplug_decode_mpc_la_SOURCES = $(internal_sources) xine_decoder.c
+xineplug_decode_mpc_la_SOURCES = $(internal_sources) xine_musepack_decoder.c
xineplug_decode_mpc_la_CFLAGS = $(VISIBILITY_FLAG)
-xineplug_decode_mpc_la_LDFLAGS = -avoid-version -module
-
+xineplug_decode_mpc_la_LDFLAGS = $(xineplug_ldflags)
diff --git a/src/libmusepack/xine_decoder.c b/src/libmusepack/xine_musepack_decoder.c
index 26c2eddf5..26c2eddf5 100644
--- a/src/libmusepack/xine_decoder.c
+++ b/src/libmusepack/xine_musepack_decoder.c
diff --git a/src/libreal/Makefile.am b/src/libreal/Makefile.am
index 114a473a7..c9cf62984 100644
--- a/src/libreal/Makefile.am
+++ b/src/libreal/Makefile.am
@@ -4,7 +4,7 @@ if ENABLE_REAL
xineplug_LTLIBRARIES = xineplug_decode_real.la
endif
-xineplug_decode_real_la_SOURCES = xine_decoder.c real_common.c audio_decoder.c
+xineplug_decode_real_la_SOURCES = xine_real_video_decoder.c real_common.c xine_real_audio_decoder.c
xineplug_decode_real_la_LIBADD = $(XINE_LIB) $(DYNAMIC_LD_LIBS)
xineplug_decode_real_la_CFLAGS = $(VISIBILITY_FLAG)
xineplug_decode_real_la_LDFLAGS = $(xineplug_ldflags)
diff --git a/src/libreal/audio_decoder.c b/src/libreal/xine_real_audio_decoder.c
index d1bb94230..d1bb94230 100644
--- a/src/libreal/audio_decoder.c
+++ b/src/libreal/xine_real_audio_decoder.c
diff --git a/src/libreal/xine_decoder.c b/src/libreal/xine_real_video_decoder.c
index ea1fc8c54..ea1fc8c54 100644
--- a/src/libreal/xine_decoder.c
+++ b/src/libreal/xine_real_video_decoder.c
diff --git a/src/libspeex/Makefile.am b/src/libspeex/Makefile.am
deleted file mode 100644
index bfe6f35b9..000000000
--- a/src/libspeex/Makefile.am
+++ /dev/null
@@ -1,14 +0,0 @@
-include $(top_srcdir)/misc/Makefile.common
-
-libdir = $(XINE_PLUGINDIR)
-
-if HAVE_SPEEX
-speex_module = xineplug_decode_speex.la
-endif
-
-lib_LTLIBRARIES = $(speex_module)
-
-xineplug_decode_speex_la_SOURCES = xine_decoder.c
-xineplug_decode_speex_la_LIBADD = $(SPEEX_LIBS) $(XINE_LIB)
-xineplug_decode_speex_la_CFLAGS = $(VISIBILITY_FLAGS) $(SPEEX_CFLAGS)
-xineplug_decode_speex_la_LDFLAGS = -avoid-version -module
diff --git a/src/libspucc/Makefile.am b/src/libspucc/Makefile.am
index fff0ab47c..ec12c1bc7 100644
--- a/src/libspucc/Makefile.am
+++ b/src/libspucc/Makefile.am
@@ -4,7 +4,7 @@ libdir = $(XINE_PLUGINDIR)
lib_LTLIBRARIES = xineplug_decode_spucc.la
-xineplug_decode_spucc_la_SOURCES = cc_decoder.c xine_decoder.c
+xineplug_decode_spucc_la_SOURCES = cc_decoder.c xine_cc_decoder.c
xineplug_decode_spucc_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) -fno-strict-aliasing
xineplug_decode_spucc_la_LIBADD = $(XINE_LIB)
xineplug_decode_spucc_la_LDFLAGS = -avoid-version -module
diff --git a/src/libspucc/xine_decoder.c b/src/libspucc/xine_cc_decoder.c
index 1a32274f6..1a32274f6 100644
--- a/src/libspucc/xine_decoder.c
+++ b/src/libspucc/xine_cc_decoder.c
diff --git a/src/libspucmml/Makefile.am b/src/libspucmml/Makefile.am
index cf9095399..ac2970482 100644
--- a/src/libspucmml/Makefile.am
+++ b/src/libspucmml/Makefile.am
@@ -1,10 +1,8 @@
include $(top_srcdir)/misc/Makefile.common
-libdir = $(XINE_PLUGINDIR)
+xineplug_LTLIBRARIES = xineplug_decode_spucmml.la
-lib_LTLIBRARIES = xineplug_decode_spucmml.la
-
-xineplug_decode_spucmml_la_SOURCES = xine_decoder.c
+xineplug_decode_spucmml_la_SOURCES = xine_cmml_decoder.c
xineplug_decode_spucmml_la_LIBADD = $(XINE_LIB)
xineplug_decode_spucmml_la_CFLAGS = $(VISIBILITY_FLAG)
-xineplug_decode_spucmml_la_LDFLAGS = -avoid-version -module
+xineplug_decode_spucmml_la_LDFLAGS = $(xineplug_ldflags)
diff --git a/src/libspucmml/xine_decoder.c b/src/libspucmml/xine_cmml_decoder.c
index 13cb6c066..13cb6c066 100644
--- a/src/libspucmml/xine_decoder.c
+++ b/src/libspucmml/xine_cmml_decoder.c
diff --git a/src/libspudec/Makefile.am b/src/libspudec/Makefile.am
index d50c49ca6..208d994f5 100644
--- a/src/libspudec/Makefile.am
+++ b/src/libspudec/Makefile.am
@@ -1,14 +1,12 @@
include $(top_srcdir)/misc/Makefile.common
-libdir = $(XINE_PLUGINDIR)
-
-lib_LTLIBRARIES = xineplug_decode_spu.la
+xineplug_LTLIBRARIES = xineplug_decode_spu.la
if HAVE_DVDNAV
xineplug_decode_spu_la_SOURCES = \
spu.c \
- xine_decoder.c
+ xine_spu_decoder.c
xineplug_decode_spu_la_LIBADD = $(XINE_LIB) $(DVDNAV_LIBS) $(PTHREAD_LIBS)
else
@@ -16,13 +14,13 @@ else
xineplug_decode_spu_la_SOURCES = \
nav_read.c \
spu.c \
- xine_decoder.c
+ xine_spu_decoder.c
AM_CPPFLAGS = -I$(top_srcdir)/src/input/libdvdnav
xineplug_decode_spu_la_LIBADD = $(XINE_LIB) $(PTHREAD_LIBS)
endif
xineplug_decode_spu_la_CFLAGS = $(DVDNAV_CFLAGS) $(VISIBILITY_FLAG)
-xineplug_decode_spu_la_LDFLAGS = -avoid-version -module
+xineplug_decode_spu_la_LDFLAGS = $(xineplug_ldflags)
noinst_HEADERS = spu.h
diff --git a/src/libspudec/xine_decoder.c b/src/libspudec/xine_spu_decoder.c
index 30c7f18c9..30c7f18c9 100644
--- a/src/libspudec/xine_decoder.c
+++ b/src/libspudec/xine_spu_decoder.c
diff --git a/src/libspudvb/Makefile.am b/src/libspudvb/Makefile.am
index 1efc8252f..b4ae9befe 100644
--- a/src/libspudvb/Makefile.am
+++ b/src/libspudvb/Makefile.am
@@ -4,7 +4,7 @@ libdir = $(XINE_PLUGINDIR)
lib_LTLIBRARIES = xineplug_decode_spudvb.la
-xineplug_decode_spudvb_la_SOURCES = xine_decoder.c
+xineplug_decode_spudvb_la_SOURCES = xine_spudvb_decoder.c
xineplug_decode_spudvb_la_LIBADD = $(XINE_LIB) $(PTHREAD_LIBS)
xineplug_decode_spudvb_la_CFLAGS = $(VISIBILITY_FLAG)
-xineplug_decode_spudvb_la_LDFLAGS = -avoid-version -module
+xineplug_decode_spudvb_la_LDFLAGS = $(xineplug_ldflags)
diff --git a/src/libspudvb/xine_decoder.c b/src/libspudvb/xine_spudvb_decoder.c
index f2fcfe182..f2fcfe182 100644
--- a/src/libspudvb/xine_decoder.c
+++ b/src/libspudvb/xine_spudvb_decoder.c
diff --git a/src/libsputext/Makefile.am b/src/libsputext/Makefile.am
index 362f9319e..5e4ce59d0 100644
--- a/src/libsputext/Makefile.am
+++ b/src/libsputext/Makefile.am
@@ -1,17 +1,13 @@
include $(top_srcdir)/misc/Makefile.common
-libdir = $(XINE_PLUGINDIR)
+AM_LDFLAGS = $(xineplug_ldflags)
-sputext_decoder = xineplug_decode_sputext.la xineplug_dmx_sputext.la
-
-lib_LTLIBRARIES = $(sputext_decoder)
+xineplug_LTLIBRARIES = xineplug_decode_sputext.la xineplug_dmx_sputext.la
xineplug_dmx_sputext_la_SOURCES = demux_sputext.c
xineplug_dmx_sputext_la_LIBADD = $(XINE_LIB)
xineplug_dmx_sputext_la_CFLAGS = $(VISIBILITY_FLAG)
-xineplug_dmx_sputext_la_LDFLAGS = -avoid-version -module
-xineplug_decode_sputext_la_SOURCES = xine_decoder.c
+xineplug_decode_sputext_la_SOURCES = xine_sputext_decoder.c
xineplug_decode_sputext_la_LIBADD = $(XINE_LIB)
xineplug_decode_sputext_la_CFLAGS = $(VISIBILITY_FLAG)
-xineplug_decode_sputext_la_LDFLAGS = -avoid-version -module
diff --git a/src/libsputext/xine_decoder.c b/src/libsputext/xine_sputext_decoder.c
index e8ef631ca..e8ef631ca 100644
--- a/src/libsputext/xine_decoder.c
+++ b/src/libsputext/xine_sputext_decoder.c
diff --git a/src/libtheora/Makefile.am b/src/libtheora/Makefile.am
deleted file mode 100644
index d3813765d..000000000
--- a/src/libtheora/Makefile.am
+++ /dev/null
@@ -1,15 +0,0 @@
-include $(top_srcdir)/misc/Makefile.common
-
-AM_CFLAGS = $(THEORA_CFLAGS)
-
-libdir = $(XINE_PLUGINDIR)
-
-if HAVE_THEORA
-theora_module = xineplug_decode_theora.la
-endif
-
-lib_LTLIBRARIES = $(theora_module)
-
-xineplug_decode_theora_la_SOURCES = xine_decoder.c
-xineplug_decode_theora_la_LIBADD = $(OGG_LIBS) $(THEORA_LIBS) $(XINE_LIB)
-xineplug_decode_theora_la_LDFLAGS = -avoid-version -module
diff --git a/src/libvorbis/Makefile.am b/src/libvorbis/Makefile.am
deleted file mode 100644
index 09abced93..000000000
--- a/src/libvorbis/Makefile.am
+++ /dev/null
@@ -1,14 +0,0 @@
-include $(top_srcdir)/misc/Makefile.common
-
-libdir = $(XINE_PLUGINDIR)
-
-if HAVE_VORBIS
-vorbis_module = xineplug_decode_vorbis.la
-endif
-
-lib_LTLIBRARIES = $(vorbis_module)
-
-xineplug_decode_vorbis_la_SOURCES = xine_decoder.c
-xineplug_decode_vorbis_la_LIBADD = $(VORBIS_LIBS) $(OGG_LIBS) $(XINE_LIB)
-xineplug_decode_vorbis_la_CFLAGS = $(VORBIS_CFLAGS) $(VISIBILITY_FLAG)
-xineplug_decode_vorbis_la_LDFLAGS = -avoid-version -module
diff --git a/src/libxineadec/Makefile.am b/src/libxineadec/Makefile.am
index 7f34b4bfd..b2ffcf078 100644
--- a/src/libxineadec/Makefile.am
+++ b/src/libxineadec/Makefile.am
@@ -2,26 +2,41 @@ include $(top_srcdir)/misc/Makefile.common
EXTRA_DIST = fooaudio.c
-libdir = $(XINE_PLUGINDIR)
-
SUBDIRS = gsm610 nosefart
-lib_LTLIBRARIES = \
+AM_LDFLAGS = $(xineplug_ldflags)
+
+if HAVE_VORBIS
+vorbis_module = xineplug_decode_vorbis.la
+endif
+
+if HAVE_SPEEX
+speex_module = xineplug_decode_speex.la
+endif
+
+xineplug_LTLIBRARIES = \
xineplug_decode_gsm610.la \
- xineplug_decode_nsf.la
+ xineplug_decode_nsf.la \
+ xineplug_decode_lpcm.la \
+ $(vorbis_module) \
+ $(speex_module)
xineplug_decode_gsm610_la_SOURCES = gsm610.c
xineplug_decode_gsm610_la_CFLAGS = $(VISIBILITY_FLAG)
-xineplug_decode_gsm610_la_LDFLAGS = -avoid-version -module
-xineplug_decode_gsm610_la_LIBADD = \
- $(XINE_LIB) \
- $(top_builddir)/src/libxineadec/gsm610/libgsm610.la
+xineplug_decode_gsm610_la_LIBADD = $(XINE_LIB) gsm610/libgsm610.la
xineplug_decode_nsf_la_SOURCES = nsf.c
xineplug_decode_nsf_la_CFLAGS = $(VISIBILITY_FLAG) -DNSF_PLAYER -fno-strict-aliasing
-xineplug_decode_nsf_la_LDFLAGS = -avoid-version -module
-xineplug_decode_nsf_la_LIBADD = -lm \
- $(XINE_LIB) \
- $(top_builddir)/src/libxineadec/nosefart/libnosefart.la
+xineplug_decode_nsf_la_LIBADD = $(XINE_LIB) -lm nosefart/libnosefart.la
+
+xineplug_decode_lpcm_la_SOURCES = xine_lpcm_decoder.c
+xineplug_decode_lpcm_la_CFLAGS = $(VISIBILITY_FLAG)
+xineplug_decode_lpcm_la_LIBADD = $(XINE_LIB)
+
+xineplug_decode_vorbis_la_SOURCES = xine_vorbis_decoder.c
+xineplug_decode_vorbis_la_LIBADD = $(XINE_LIB) $(VORBIS_LIBS) $(OGG_LIBS)
+xineplug_decode_vorbis_la_CFLAGS = $(VISIBILITY_FLAG) $(VORBIS_CFLAGS)
-# noinst_HEADERS =
+xineplug_decode_speex_la_SOURCES = xine_speex_decoder.c
+xineplug_decode_speex_la_LIBADD = $(XINE_LIB) $(SPEEX_LIBS)
+xineplug_decode_speex_la_CFLAGS = $(VISIBILITY_FLAGS) $(SPEEX_CFLAGS)
diff --git a/src/liblpcm/xine_decoder.c b/src/libxineadec/xine_lpcm_decoder.c
index 43bea4cbf..43bea4cbf 100644
--- a/src/liblpcm/xine_decoder.c
+++ b/src/libxineadec/xine_lpcm_decoder.c
diff --git a/src/libspeex/xine_decoder.c b/src/libxineadec/xine_speex_decoder.c
index b729dc3bb..b729dc3bb 100644
--- a/src/libspeex/xine_decoder.c
+++ b/src/libxineadec/xine_speex_decoder.c
diff --git a/src/libvorbis/xine_decoder.c b/src/libxineadec/xine_vorbis_decoder.c
index ef8575949..ef8575949 100644
--- a/src/libvorbis/xine_decoder.c
+++ b/src/libxineadec/xine_vorbis_decoder.c
diff --git a/src/libxinevdec/Makefile.am b/src/libxinevdec/Makefile.am
index 903399cbb..87ee050e6 100644
--- a/src/libxinevdec/Makefile.am
+++ b/src/libxinevdec/Makefile.am
@@ -13,8 +13,13 @@ if HAVE_GDK_PIXBUF
gdkpixbuf_module = xineplug_decode_gdk_pixbuf.la
endif
+if HAVE_THEORA
+theora_module = xineplug_decode_theora.la
+endif
+
xineplug_LTLIBRARIES = $(image_module) \
$(gdkpixbuf_module) \
+ $(theora_module) \
xineplug_decode_bitplane.la \
xineplug_decode_rgb.la \
xineplug_decode_yuv.la
@@ -36,3 +41,6 @@ xineplug_decode_gdk_pixbuf_la_SOURCES = gdkpixbuf.c
xineplug_decode_gdk_pixbuf_la_CFLAGS = $(AM_CFLAGS) $(GDK_PIXBUF_CFLAGS)
xineplug_decode_gdk_pixbuf_la_LIBADD = $(XINE_LIB) $(DYNAMIC_LD_LIBS) $(GDK_PIXBUF_LIBS)
+xineplug_decode_theora_la_SOURCES = xine_theora_decoder.c
+xineplug_decode_theora_la_CFLAGS = $(AM_CFLAGS) $(OGG_CFLAGS) $(THEORA_CFLAGS)
+xineplug_decode_theora_la_LIBADD = $(XINE_LIB) $(OGG_LIBS) $(THEORA_LIBS)
diff --git a/src/libtheora/xine_decoder.c b/src/libxinevdec/xine_theora_decoder.c
index 032f8800f..032f8800f 100644
--- a/src/libtheora/xine_decoder.c
+++ b/src/libxinevdec/xine_theora_decoder.c
diff --git a/src/xine-engine/audio_out.c b/src/xine-engine/audio_out.c
index cd87c2947..89fbdde1a 100644
--- a/src/xine-engine/audio_out.c
+++ b/src/xine-engine/audio_out.c
@@ -281,11 +281,12 @@ typedef struct {
struct audio_fifo_s {
audio_buffer_t *first;
audio_buffer_t *last;
- int num_buffers;
pthread_mutex_t mutex;
pthread_cond_t not_empty;
pthread_cond_t empty;
+
+ int num_buffers;
};
diff --git a/src/xine-engine/broadcaster.c b/src/xine-engine/broadcaster.c
index 3beacb226..8ab661d3e 100644
--- a/src/xine-engine/broadcaster.c
+++ b/src/xine-engine/broadcaster.c
@@ -73,9 +73,10 @@ struct broadcaster_s {
int msock; /* master network socket */
xine_list_t *connections; /* active connections */
- int running;
pthread_t manager_thread;
pthread_mutex_t lock;
+
+ int running;
};
diff --git a/src/xine-engine/buffer_types.c b/src/xine-engine/buffer_types.c
index 161ec70a9..4a71a99c2 100644
--- a/src/xine-engine/buffer_types.c
+++ b/src/xine-engine/buffer_types.c
@@ -49,13 +49,13 @@
typedef struct video_db_s {
uint32_t fourcc[20];
uint32_t buf_type;
- char *name;
+ const char name[];
} video_db_t;
typedef struct audio_db_s {
uint32_t formattag[10];
uint32_t buf_type;
- char *name;
+ const char name[];
} audio_db_t;
diff --git a/src/xine-engine/input_rip.c b/src/xine-engine/input_rip.c
index d8715fb85..56850ba2d 100644
--- a/src/xine-engine/input_rip.c
+++ b/src/xine-engine/input_rip.c
@@ -83,12 +83,13 @@ typedef struct {
xine_stream_t *stream;
FILE *file; /* destination file */
- int regular; /* permit reading from the file */
char *preview; /* preview data */
off_t preview_size; /* size of read preview data */
off_t curpos; /* current position */
off_t savepos; /* amount of already saved data */
+
+ int regular; /* permit reading from the file */
} rip_input_plugin_t;
diff --git a/src/xine-engine/osd.c b/src/xine-engine/osd.c
index b33d81f6e..b68b3b5c2 100644
--- a/src/xine-engine/osd.c
+++ b/src/xine-engine/osd.c
@@ -109,21 +109,21 @@
#endif
typedef struct osd_fontchar_s {
+ uint8_t *bmp;
uint16_t code;
uint16_t width;
uint16_t height;
- uint8_t *bmp;
} osd_fontchar_t;
struct osd_font_s {
char name[40];
char *filename;
+ osd_fontchar_t *fontchar;
+ osd_font_t *next;
uint16_t version;
uint16_t size;
uint16_t num_fontchars;
- osd_fontchar_t *fontchar;
- osd_font_t *next;
- int loaded;
+ uint16_t loaded;
};
#ifdef HAVE_FT2
diff --git a/src/xine-engine/video_overlay.c b/src/xine-engine/video_overlay.c
index 3189214a8..04a3034a3 100644
--- a/src/xine-engine/video_overlay.c
+++ b/src/xine-engine/video_overlay.c
@@ -49,6 +49,8 @@ typedef struct video_overlay_showing_s {
typedef struct video_overlay_s {
+ xine_t *xine;
+
video_overlay_manager_t video_overlay;
pthread_mutex_t events_mutex;
@@ -58,7 +60,6 @@ typedef struct video_overlay_s {
pthread_mutex_t showing_mutex;
video_overlay_showing_t showing[MAX_SHOWING];
int showing_changed;
- xine_t *xine;
} video_overlay_t;
diff --git a/src/xine-engine/xine_interface.c b/src/xine-engine/xine_interface.c
index e58d9ed61..166d7a3ef 100644
--- a/src/xine-engine/xine_interface.c
+++ b/src/xine-engine/xine_interface.c
@@ -521,7 +521,7 @@ void xine_set_param (xine_stream_t *stream, int param, int value) {
break;
case XINE_PARAM_EARLY_FINISHED_EVENT:
- stream->early_finish_event = value;
+ stream->early_finish_event = !!value;
break;
case XINE_PARAM_DELAY_FINISHED_EVENT:
@@ -529,7 +529,7 @@ void xine_set_param (xine_stream_t *stream, int param, int value) {
break;
case XINE_PARAM_GAPLESS_SWITCH:
- stream->gapless_switch = value;
+ stream->gapless_switch = !!value;
break;
default:
diff --git a/src/xine-utils/ring_buffer.c b/src/xine-utils/ring_buffer.c
index 0dfd370f1..dc8ddbf80 100644
--- a/src/xine-utils/ring_buffer.c
+++ b/src/xine-utils/ring_buffer.c
@@ -70,11 +70,12 @@ struct xine_ring_buffer_s {
uint8_t *buffer_end;
size_t free_size; /* size of the free zone */
- pthread_cond_t free_size_cond;
- int free_size_needed;
-
size_t full_size; /* size of the full zone */
+
+ pthread_cond_t free_size_cond;
pthread_cond_t full_size_cond;
+
+ int free_size_needed;
int full_size_needed;
xine_pool_t *chunk_pool;
@@ -84,9 +85,9 @@ struct xine_ring_buffer_s {
uint8_t *extra_buffer;
size_t extra_buffer_size;
- int EOS;
-
pthread_mutex_t lock;
+
+ int EOS;
};
/* Constructor */