summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2003-01-04 14:48:11 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2003-01-04 14:48:11 +0000
commit4b91fa7eb32d3337e0ac6dc3fc6b210ca480b7b9 (patch)
tree24cfafb063e21ca2f61878b04c948bc5f74690ec /src
parentfeb5575abd810ae0a21de9c3f8dd3033cd4cf573 (diff)
downloadxine-lib-4b91fa7eb32d3337e0ac6dc3fc6b210ca480b7b9.tar.gz
xine-lib-4b91fa7eb32d3337e0ac6dc3fc6b210ca480b7b9.tar.bz2
add 2 demuxer groups (audio and games) with multiple plugins at the
same shared library (reduce loading time). demuxer api increased so old ungrouped plugins won't be loaded. Bill Fink patch to enable playback of live rawdv streams. obs: non-regular files are now supposed non-seekable. CVS patchset: 3771 CVS date: 2003/01/04 14:48:11
Diffstat (limited to 'src')
-rw-r--r--src/demuxers/Makefile.am95
-rw-r--r--src/demuxers/demux.h4
-rw-r--r--src/demuxers/demux_aiff.c8
-rw-r--r--src/demuxers/demux_asf.c4
-rw-r--r--src/demuxers/demux_aud.c9
-rw-r--r--src/demuxers/demux_avi.c4
-rw-r--r--src/demuxers/demux_cda.c8
-rw-r--r--src/demuxers/demux_eawve.c8
-rw-r--r--src/demuxers/demux_elem.c4
-rw-r--r--src/demuxers/demux_film.c4
-rw-r--r--src/demuxers/demux_fli.c4
-rw-r--r--src/demuxers/demux_idcin.c8
-rw-r--r--src/demuxers/demux_ipmovie.c9
-rw-r--r--src/demuxers/demux_mng.c4
-rw-r--r--src/demuxers/demux_mpeg.c4
-rw-r--r--src/demuxers/demux_mpeg_block.c4
-rw-r--r--src/demuxers/demux_mpgaudio.c8
-rw-r--r--src/demuxers/demux_ogg.c4
-rw-r--r--src/demuxers/demux_pva.c4
-rw-r--r--src/demuxers/demux_qt.c4
-rw-r--r--src/demuxers/demux_rawdv.c39
-rw-r--r--src/demuxers/demux_real.c4
-rw-r--r--src/demuxers/demux_realaudio.c9
-rw-r--r--src/demuxers/demux_roq.c8
-rw-r--r--src/demuxers/demux_smjpeg.c4
-rw-r--r--src/demuxers/demux_snd.c8
-rw-r--r--src/demuxers/demux_str.c8
-rw-r--r--src/demuxers/demux_ts.c4
-rw-r--r--src/demuxers/demux_voc.c8
-rw-r--r--src/demuxers/demux_vqa.c8
-rw-r--r--src/demuxers/demux_wav.c8
-rw-r--r--src/demuxers/demux_wc3movie.c8
-rw-r--r--src/demuxers/demux_yuv4mpeg2.c4
-rw-r--r--src/demuxers/group_audio.c57
-rw-r--r--src/demuxers/group_games.c55
-rw-r--r--src/input/input_file.c17
-rw-r--r--src/libsputext/demux_sputext.c4
37 files changed, 279 insertions, 175 deletions
diff --git a/src/demuxers/Makefile.am b/src/demuxers/Makefile.am
index 64754e3da..0d7d4046e 100644
--- a/src/demuxers/Makefile.am
+++ b/src/demuxers/Makefile.am
@@ -26,34 +26,20 @@ endif
XINELIB = $(top_builddir)/src/xine-engine/libxine.la
lib_LTLIBRARIES = $(ogg_module) $(asf_module) $(mng_module) \
+ xineplug_dmx_games.la \
+ xineplug_dmx_audio.la \
xineplug_dmx_mpeg_ts.la \
xineplug_dmx_avi.la\
xineplug_dmx_mpeg_block.la \
xineplug_dmx_mpeg.la \
- xineplug_dmx_mpeg_audio.la \
xineplug_dmx_mpeg_elem.la \
xineplug_dmx_qt.la \
- xineplug_dmx_cda.la \
- xineplug_dmx_film.la \
- xineplug_dmx_roq.la \
xineplug_dmx_fli.la \
xineplug_dmx_smjpeg.la \
- xineplug_dmx_wav.la \
- xineplug_dmx_idcin.la \
- xineplug_dmx_wc3movie.la \
- xineplug_dmx_vqa.la \
- xineplug_dmx_voc.la \
- xineplug_dmx_aiff.la \
- xineplug_dmx_snd.la \
xineplug_dmx_yuv4mpeg2.la \
xineplug_dmx_real.la \
- xineplug_dmx_realaudio.la \
- xineplug_dmx_eawve.la \
xineplug_dmx_rawdv.la \
- xineplug_dmx_ipmovie.la \
- xineplug_dmx_str.la \
- xineplug_dmx_pva.la \
- xineplug_dmx_aud.la
+ xineplug_dmx_pva.la
xineplug_dmx_ogg_la_SOURCES = demux_ogg.c
xineplug_dmx_ogg_la_LIBADD = $(OGG_LIBS) $(VORBIS_LIBS) $(XINELIB)
@@ -71,10 +57,6 @@ xineplug_dmx_mpeg_la_SOURCES = demux_mpeg.c
xineplug_dmx_mpeg_la_LIBADD = $(XINELIB)
xineplug_dmx_mpeg_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-xineplug_dmx_mpeg_audio_la_SOURCES = demux_mpgaudio.c
-xineplug_dmx_mpeg_audio_la_LIBADD = -lm $(XINELIB)
-xineplug_dmx_mpeg_audio_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-
xineplug_dmx_mpeg_elem_la_SOURCES = demux_elem.c
xineplug_dmx_mpeg_elem_la_LIBADD = $(XINELIB)
xineplug_dmx_mpeg_elem_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
@@ -95,18 +77,6 @@ xineplug_dmx_asf_la_SOURCES = demux_asf.c
xineplug_dmx_asf_la_LIBADD = $(XINELIB)
xineplug_dmx_asf_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-xineplug_dmx_cda_la_SOURCES = demux_cda.c
-xineplug_dmx_cda_la_LIBADD = $(XINELIB)
-xineplug_dmx_cda_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-
-xineplug_dmx_film_la_SOURCES = demux_film.c
-xineplug_dmx_film_la_LIBADD = $(XINELIB)
-xineplug_dmx_film_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-
-xineplug_dmx_roq_la_SOURCES = demux_roq.c
-xineplug_dmx_roq_la_LIBADD = $(XINELIB)
-xineplug_dmx_roq_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-
xineplug_dmx_fli_la_SOURCES = demux_fli.c
xineplug_dmx_fli_la_LIBADD = $(XINELIB)
xineplug_dmx_fli_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
@@ -115,34 +85,6 @@ xineplug_dmx_smjpeg_la_SOURCES = demux_smjpeg.c
xineplug_dmx_smjpeg_la_LIBADD = $(XINELIB)
xineplug_dmx_smjpeg_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-xineplug_dmx_wav_la_SOURCES = demux_wav.c
-xineplug_dmx_wav_la_LIBADD = $(XINELIB)
-xineplug_dmx_wav_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-
-xineplug_dmx_idcin_la_SOURCES = demux_idcin.c
-xineplug_dmx_idcin_la_LIBADD = $(XINELIB)
-xineplug_dmx_idcin_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-
-xineplug_dmx_wc3movie_la_SOURCES = demux_wc3movie.c
-xineplug_dmx_wc3movie_la_LIBADD = $(XINELIB)
-xineplug_dmx_wc3movie_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-
-xineplug_dmx_vqa_la_SOURCES = demux_vqa.c
-xineplug_dmx_vqa_la_LIBADD = $(XINELIB)
-xineplug_dmx_vqa_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-
-xineplug_dmx_voc_la_SOURCES = demux_voc.c
-xineplug_dmx_voc_la_LIBADD = $(XINELIB)
-xineplug_dmx_voc_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-
-xineplug_dmx_aiff_la_SOURCES = demux_aiff.c
-xineplug_dmx_aiff_la_LIBADD = $(XINELIB)
-xineplug_dmx_aiff_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-
-xineplug_dmx_snd_la_SOURCES = demux_snd.c
-xineplug_dmx_snd_la_LIBADD = $(XINELIB)
-xineplug_dmx_snd_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-
xineplug_dmx_yuv4mpeg2_la_SOURCES = demux_yuv4mpeg2.c
xineplug_dmx_yuv4mpeg2_la_LIBADD = $(XINELIB)
xineplug_dmx_yuv4mpeg2_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
@@ -151,14 +93,6 @@ xineplug_dmx_real_la_SOURCES = demux_real.c
xineplug_dmx_real_la_LIBADD = $(XINELIB)
xineplug_dmx_real_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-xineplug_dmx_realaudio_la_SOURCES = demux_realaudio.c
-xineplug_dmx_realaudio_la_LIBADD = $(XINELIB)
-xineplug_dmx_realaudio_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-
-xineplug_dmx_eawve_la_SOURCES = demux_eawve.c
-xineplug_dmx_eawve_la_LIBADD = $(XINELIB)
-xineplug_dmx_eawve_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-
xineplug_dmx_rawdv_la_SOURCES = demux_rawdv.c
xineplug_dmx_rawdv_la_LIBADD = $(XINELIB)
xineplug_dmx_rawdv_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
@@ -167,21 +101,22 @@ xineplug_dmx_mng_la_SOURCES = demux_mng.c
xineplug_dmx_mng_la_LIBADD = $(XINELIB) $(ZLIB_LIBS) $(MNG_LIBS)
xineplug_dmx_mng_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-xineplug_dmx_ipmovie_la_SOURCES = demux_ipmovie.c
-xineplug_dmx_ipmovie_la_LIBADD = $(XINELIB)
-xineplug_dmx_ipmovie_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-
-xineplug_dmx_str_la_SOURCES = demux_str.c
-xineplug_dmx_str_la_LIBADD = $(XINELIB)
-xineplug_dmx_str_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-
xineplug_dmx_pva_la_SOURCES = demux_pva.c
xineplug_dmx_pva_la_LIBADD = $(XINELIB)
xineplug_dmx_pva_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-xineplug_dmx_aud_la_SOURCES = demux_aud.c
-xineplug_dmx_aud_la_LIBADD = $(XINELIB)
-xineplug_dmx_aud_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_dmx_games_la_SOURCES = group_games.c demux_eawve.c \
+ demux_idcin.c demux_ipmovie.c demux_roq.c \
+ demux_vqa.c demux_wc3movie.c demux_str.c
+xineplug_dmx_games_la_LIBADD = $(XINELIB)
+xineplug_dmx_games_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+
+xineplug_dmx_audio_la_SOURCES = group_audio.c demux_aud.c demux_aiff.c \
+ demux_cda.c demux_mpgaudio.c demux_realaudio.c \
+ demux_snd.c demux_voc.c demux_wav.c
+xineplug_dmx_audio_la_LIBADD = $(XINELIB)
+xineplug_dmx_audio_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+
include_HEADERS = demux.h
noinst_HEADERS = asfheader.h qtpalette.h
diff --git a/src/demuxers/demux.h b/src/demuxers/demux.h
index 5a3efc58f..ac112aab8 100644
--- a/src/demuxers/demux.h
+++ b/src/demuxers/demux.h
@@ -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: demux.h,v 1.27 2002/12/21 12:56:46 miguelfreitas Exp $
+ * $Id: demux.h,v 1.28 2003/01/04 14:48:11 miguelfreitas Exp $
*/
#ifndef HAVE_DEMUX_H
@@ -32,7 +32,7 @@
#include "input_plugin.h"
#endif
-#define DEMUXER_PLUGIN_IFACE_VERSION 19
+#define DEMUXER_PLUGIN_IFACE_VERSION 20
#define DEMUX_OK 0
#define DEMUX_FINISHED 1
diff --git a/src/demuxers/demux_aiff.c b/src/demuxers/demux_aiff.c
index 2cf3dd285..9f68ad6ff 100644
--- a/src/demuxers/demux_aiff.c
+++ b/src/demuxers/demux_aiff.c
@@ -19,7 +19,7 @@
*
* AIFF File Demuxer by Mike Melanson (melanson@pcisys.net)
*
- * $Id: demux_aiff.c,v 1.20 2002/12/21 12:56:44 miguelfreitas Exp $
+ * $Id: demux_aiff.c,v 1.21 2003/01/04 14:48:11 miguelfreitas Exp $
*
*/
@@ -443,7 +443,7 @@ static void class_dispose (demux_class_t *this_gen) {
free (this);
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_aiff_init_plugin (xine_t *xine, void *data) {
demux_aiff_class_t *this;
@@ -465,8 +465,10 @@ static void *init_plugin (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
+#if 0
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "aiff", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "aiff", XINE_VERSION_CODE, NULL, demux_aiff_init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
+#endif
diff --git a/src/demuxers/demux_asf.c b/src/demuxers/demux_asf.c
index b2487f8af..e98c50dd8 100644
--- a/src/demuxers/demux_asf.c
+++ b/src/demuxers/demux_asf.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: demux_asf.c,v 1.91 2002/12/21 12:56:44 miguelfreitas Exp $
+ * $Id: demux_asf.c,v 1.92 2003/01/04 14:48:11 miguelfreitas Exp $
*
* demultiplexer for asf streams
*
@@ -1548,6 +1548,6 @@ static void *init_class (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "asf", XINE_VERSION_CODE, NULL, init_class },
+ { PLUGIN_DEMUX, 20, "asf", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_aud.c b/src/demuxers/demux_aud.c
index 3abb391d5..d2bf415b6 100644
--- a/src/demuxers/demux_aud.c
+++ b/src/demuxers/demux_aud.c
@@ -32,7 +32,7 @@
* data. This makes seeking conceptually impossible. Upshot: Random
* seeking is not supported.
*
- * $Id: demux_aud.c,v 1.1 2003/01/02 06:10:49 tmmm Exp $
+ * $Id: demux_aud.c,v 1.2 2003/01/04 14:48:11 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -382,7 +382,7 @@ static void class_dispose (demux_class_t *this_gen) {
free (this);
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_aud_init_plugin (xine_t *xine, void *data) {
demux_aud_class_t *this;
@@ -403,9 +403,10 @@ static void *init_plugin (xine_t *xine, void *data) {
/*
* exported plugin catalog entry
*/
-
+#if 0
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "aud", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "aud", XINE_VERSION_CODE, NULL, demux_aud_init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
+#endif
diff --git a/src/demuxers/demux_avi.c b/src/demuxers/demux_avi.c
index c5bfceebe..d307c69a0 100644
--- a/src/demuxers/demux_avi.c
+++ b/src/demuxers/demux_avi.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: demux_avi.c,v 1.142 2002/12/29 16:48:34 mroi Exp $
+ * $Id: demux_avi.c,v 1.143 2003/01/04 14:48:11 miguelfreitas Exp $
*
* demultiplexer for avi streams
*
@@ -1599,6 +1599,6 @@ static void *init_class (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "avi", XINE_VERSION_CODE, NULL, init_class },
+ { PLUGIN_DEMUX, 20, "avi", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_cda.c b/src/demuxers/demux_cda.c
index d597246b1..fa159ab58 100644
--- a/src/demuxers/demux_cda.c
+++ b/src/demuxers/demux_cda.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: demux_cda.c,v 1.37 2002/12/21 12:56:44 miguelfreitas Exp $
+ * $Id: demux_cda.c,v 1.38 2003/01/04 14:48:11 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -268,7 +268,7 @@ static void class_dispose (demux_class_t *this_gen) {
free (this);
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_cda_init_plugin (xine_t *xine, void *data) {
demux_cda_class_t *this;
@@ -290,8 +290,10 @@ static void *init_plugin (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
+#if 0
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "cda", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "cda", XINE_VERSION_CODE, NULL, demux_cda_init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
+#endif
diff --git a/src/demuxers/demux_eawve.c b/src/demuxers/demux_eawve.c
index c36ea23ef..01d0e6a55 100644
--- a/src/demuxers/demux_eawve.c
+++ b/src/demuxers/demux_eawve.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: demux_eawve.c,v 1.12 2002/12/21 17:58:37 komadori Exp $
+ * $Id: demux_eawve.c,v 1.13 2003/01/04 14:48:11 miguelfreitas Exp $
*
* demux_eawve.c, Demuxer plugin for Electronic Arts' WVE file format
*
@@ -454,7 +454,7 @@ static void class_dispose(demux_class_t *this)
free(this);
}
-static void *init_plugin(xine_t *xine, void *data)
+void *demux_eawve_init_plugin(xine_t *xine, void *data)
{
demux_eawve_class_t *this;
@@ -472,7 +472,9 @@ static void *init_plugin(xine_t *xine, void *data)
return this;
}
+#if 0
plugin_info_t xine_plugin_info[] = {
- { PLUGIN_DEMUX, 19, "wve", XINE_VERSION_CODE, NULL, (void*)init_plugin},
+ { PLUGIN_DEMUX, 20, "wve", XINE_VERSION_CODE, NULL, (void*)demux_eawve_init_plugin},
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
+#endif
diff --git a/src/demuxers/demux_elem.c b/src/demuxers/demux_elem.c
index 43ef76e0c..12e43f44b 100644
--- a/src/demuxers/demux_elem.c
+++ b/src/demuxers/demux_elem.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: demux_elem.c,v 1.66 2002/12/21 12:56:45 miguelfreitas Exp $
+ * $Id: demux_elem.c,v 1.67 2003/01/04 14:48:11 miguelfreitas Exp $
*
* demultiplexer for elementary mpeg streams
*
@@ -360,6 +360,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "elem", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "elem", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_film.c b/src/demuxers/demux_film.c
index 7f0a393f1..ebe730531 100644
--- a/src/demuxers/demux_film.c
+++ b/src/demuxers/demux_film.c
@@ -21,7 +21,7 @@
* For more information on the FILM file format, visit:
* http://www.pcisys.net/~melanson/codecs/
*
- * $Id: demux_film.c,v 1.48 2002/12/23 02:29:43 miguelfreitas Exp $
+ * $Id: demux_film.c,v 1.49 2003/01/04 14:48:12 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -804,6 +804,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "film", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "film", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_fli.c b/src/demuxers/demux_fli.c
index 3bf4e447c..49f39329c 100644
--- a/src/demuxers/demux_fli.c
+++ b/src/demuxers/demux_fli.c
@@ -22,7 +22,7 @@
* avoid while programming a FLI decoder, visit:
* http://www.pcisys.net/~melanson/codecs/
*
- * $Id: demux_fli.c,v 1.33 2002/12/28 19:00:30 tmmm Exp $
+ * $Id: demux_fli.c,v 1.34 2003/01/04 14:48:12 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -412,6 +412,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "fli", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "fli", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_idcin.c b/src/demuxers/demux_idcin.c
index d11adbe53..2763f0f73 100644
--- a/src/demuxers/demux_idcin.c
+++ b/src/demuxers/demux_idcin.c
@@ -63,7 +63,7 @@
* - if any bytes exceed 63, do not shift the bytes at all before
* transmitting them to the video decoder
*
- * $Id: demux_idcin.c,v 1.31 2002/12/21 12:56:45 miguelfreitas Exp $
+ * $Id: demux_idcin.c,v 1.32 2003/01/04 14:48:12 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -565,7 +565,7 @@ static void class_dispose (demux_class_t *this_gen) {
free (this);
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_idcin_init_plugin (xine_t *xine, void *data) {
demux_idcin_class_t *this;
@@ -587,8 +587,10 @@ static void *init_plugin (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
+#if 0
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "idcin", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "idcin", XINE_VERSION_CODE, NULL, demux_idcin_init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
+#endif
diff --git a/src/demuxers/demux_ipmovie.c b/src/demuxers/demux_ipmovie.c
index a0f3abcf4..ae1c4a62a 100644
--- a/src/demuxers/demux_ipmovie.c
+++ b/src/demuxers/demux_ipmovie.c
@@ -21,7 +21,7 @@
* For more information regarding the Interplay MVE file format, visit:
* http://www.pcisys.net/~melanson/codecs/
*
- * $Id: demux_ipmovie.c,v 1.2 2002/12/31 04:01:32 tmmm Exp $
+ * $Id: demux_ipmovie.c,v 1.3 2003/01/04 14:48:12 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -768,7 +768,7 @@ static void class_dispose (demux_class_t *this_gen) {
free (this);
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_ipmovie_init_plugin (xine_t *xine, void *data) {
demux_ipmovie_class_t *this;
@@ -790,9 +790,10 @@ static void *init_plugin (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
+#if 0
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "ipmovie", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "ipmovie", XINE_VERSION_CODE, NULL, demux_ipmovie_init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
-
+#endif
diff --git a/src/demuxers/demux_mng.c b/src/demuxers/demux_mng.c
index dacbf1d34..69d27ed9d 100644
--- a/src/demuxers/demux_mng.c
+++ b/src/demuxers/demux_mng.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: demux_mng.c,v 1.3 2002/12/22 17:49:50 komadori Exp $
+ * $Id: demux_mng.c,v 1.4 2003/01/04 14:48:12 miguelfreitas Exp $
*
* demux_mng.c, Demuxer plugin for Multiple-image Network Graphics format
*
@@ -398,6 +398,6 @@ static void *init_plugin(xine_t *xine, void *data)
}
plugin_info_t xine_plugin_info[] = {
- { PLUGIN_DEMUX, 19, "mng", XINE_VERSION_CODE, NULL, (void*)init_plugin},
+ { PLUGIN_DEMUX, 20, "mng", XINE_VERSION_CODE, NULL, (void*)init_plugin},
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_mpeg.c b/src/demuxers/demux_mpeg.c
index 9a155998e..57e118f66 100644
--- a/src/demuxers/demux_mpeg.c
+++ b/src/demuxers/demux_mpeg.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: demux_mpeg.c,v 1.101 2002/12/21 20:19:50 esnel Exp $
+ * $Id: demux_mpeg.c,v 1.102 2003/01/04 14:48:12 miguelfreitas Exp $
*
* demultiplexer for mpeg 1/2 program streams
* reads streams of variable blocksizes
@@ -1141,6 +1141,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "mpeg", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "mpeg", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c
index 4091ecef0..d232e634b 100644
--- a/src/demuxers/demux_mpeg_block.c
+++ b/src/demuxers/demux_mpeg_block.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: demux_mpeg_block.c,v 1.152 2003/01/03 13:32:56 rockyb Exp $
+ * $Id: demux_mpeg_block.c,v 1.153 2003/01/04 14:48:12 miguelfreitas Exp $
*
* demultiplexer for mpeg 1/2 program streams
*
@@ -1209,6 +1209,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "mpeg_block", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "mpeg_block", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_mpgaudio.c b/src/demuxers/demux_mpgaudio.c
index 0e1685f10..9465d6669 100644
--- a/src/demuxers/demux_mpgaudio.c
+++ b/src/demuxers/demux_mpgaudio.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: demux_mpgaudio.c,v 1.86 2002/12/21 12:56:45 miguelfreitas Exp $
+ * $Id: demux_mpgaudio.c,v 1.87 2003/01/04 14:48:12 miguelfreitas Exp $
*
* demultiplexer for mpeg audio (i.e. mp3) streams
*
@@ -645,7 +645,7 @@ static void class_dispose (demux_class_t *this_gen) {
free (this);
}
-static void *init_class (xine_t *xine, void *data) {
+void *demux_mpgaudio_init_class (xine_t *xine, void *data) {
demux_mpgaudio_class_t *this;
@@ -668,8 +668,10 @@ static void *init_class (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
+#if 0
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "mp3", XINE_VERSION_CODE, NULL, init_class },
+ { PLUGIN_DEMUX, 20, "mp3", XINE_VERSION_CODE, NULL, demux_mpgaudio_init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
+#endif
diff --git a/src/demuxers/demux_ogg.c b/src/demuxers/demux_ogg.c
index 809b1dc58..c12f7045d 100644
--- a/src/demuxers/demux_ogg.c
+++ b/src/demuxers/demux_ogg.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: demux_ogg.c,v 1.56 2002/12/21 12:56:45 miguelfreitas Exp $
+ * $Id: demux_ogg.c,v 1.57 2003/01/04 14:48:12 miguelfreitas Exp $
*
* demultiplexer for ogg streams
*
@@ -1071,6 +1071,6 @@ static void *init_class (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "ogg", XINE_VERSION_CODE, NULL, init_class },
+ { PLUGIN_DEMUX, 20, "ogg", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_pva.c b/src/demuxers/demux_pva.c
index 63162b878..35105c971 100644
--- a/src/demuxers/demux_pva.c
+++ b/src/demuxers/demux_pva.c
@@ -21,7 +21,7 @@
* For more information regarding the PVA file format, refer to this PDF:
* http://www.technotrend.de/download/av_format_v1.pdf
*
- * $Id: demux_pva.c,v 1.1 2003/01/02 06:10:49 tmmm Exp $
+ * $Id: demux_pva.c,v 1.2 2003/01/04 14:48:12 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -411,6 +411,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "pva", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "pva", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_qt.c b/src/demuxers/demux_qt.c
index 72a7553b2..48d905c21 100644
--- a/src/demuxers/demux_qt.c
+++ b/src/demuxers/demux_qt.c
@@ -30,7 +30,7 @@
* build_frame_table
* free_qt_info
*
- * $Id: demux_qt.c,v 1.137 2003/01/01 19:47:43 tmmm Exp $
+ * $Id: demux_qt.c,v 1.138 2003/01/04 14:48:12 miguelfreitas Exp $
*
*/
@@ -2466,6 +2466,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "quicktime", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "quicktime", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_rawdv.c b/src/demuxers/demux_rawdv.c
index 70c836d3b..683c3c9c2 100644
--- a/src/demuxers/demux_rawdv.c
+++ b/src/demuxers/demux_rawdv.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: demux_rawdv.c,v 1.1 2002/12/23 21:29:59 miguelfreitas Exp $
+ * $Id: demux_rawdv.c,v 1.2 2003/01/04 14:48:12 miguelfreitas Exp $
*
* demultiplexer for raw dv streams
*
@@ -140,22 +140,34 @@ static void demux_raw_dv_send_headers (demux_plugin_t *this_gen) {
demux_raw_dv_t *this = (demux_raw_dv_t *) this_gen;
buf_element_t *buf;
xine_bmiheader *bih;
- unsigned char scratch[4];
+ unsigned char scratch[4], scratch2[4];
+ int i;
this->video_fifo = this->stream->video_fifo;
this->audio_fifo = this->stream->audio_fifo;
xine_demux_control_start(this->stream);
- if ( !(this->input->get_capabilities(this->input) & INPUT_CAP_SEEKABLE)) {
- printf("demux_rawdv: not seekable, can't handle!\n");
- return;
+ if ((this->input->get_capabilities(this->input)) & INPUT_CAP_SEEKABLE) {
+ this->input->seek(this->input, 0, SEEK_SET);
+ if( this->input->read (this->input, scratch, 4) != 4 )
+ return;
+ this->input->seek(this->input, 0, SEEK_SET);
+ }
+ else {
+ if( this->input->read (this->input, scratch, 4) != 4 )
+ return;
+ if( !(scratch[3] & 0x80) )
+ i = NTSC_FRAME_SIZE;
+ else
+ i = PAL_FRAME_SIZE;
+ i -= 4;
+ while (i > 0) {
+ if( this->input->read (this->input, scratch2, 4) != 4 )
+ return;
+ i -= 4;
+ }
}
-
- this->input->seek(this->input, 0, SEEK_SET);
- if( this->input->read (this->input, scratch, 4) != 4 )
- return;
- this->input->seek(this->input, 0, SEEK_SET);
buf = this->video_fifo->buffer_pool_alloc(this->video_fifo);
buf->content = buf->mem;
@@ -201,6 +213,11 @@ static int demux_raw_dv_seek (demux_plugin_t *this_gen,
demux_raw_dv_t *this = (demux_raw_dv_t *) this_gen;
+ if (!(this->input->get_capabilities(this->input) & INPUT_CAP_SEEKABLE)) {
+ this->status = DEMUX_OK;
+ return this->status;
+ }
+
if( !start_pos && start_time ) {
start_pos = (start_time * 90000 / this->duration) * this->frame_size;
}
@@ -341,6 +358,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "rawdv", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "rawdv", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_real.c b/src/demuxers/demux_real.c
index a4172925e..ed1d5fec5 100644
--- a/src/demuxers/demux_real.c
+++ b/src/demuxers/demux_real.c
@@ -28,7 +28,7 @@
*
* Based on FFmpeg's libav/rm.c.
*
- * $Id: demux_real.c,v 1.29 2003/01/01 20:39:19 guenter Exp $
+ * $Id: demux_real.c,v 1.30 2003/01/04 14:48:12 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -1183,6 +1183,6 @@ static void *init_class (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "real", XINE_VERSION_CODE, NULL, init_class },
+ { PLUGIN_DEMUX, 20, "real", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_realaudio.c b/src/demuxers/demux_realaudio.c
index 02ae5b97d..e17cd848b 100644
--- a/src/demuxers/demux_realaudio.c
+++ b/src/demuxers/demux_realaudio.c
@@ -19,7 +19,7 @@
*
* RealAudio File Demuxer by Mike Melanson (melanson@pcisys.net)
*
- * $Id: demux_realaudio.c,v 1.8 2002/12/21 12:56:45 miguelfreitas Exp $
+ * $Id: demux_realaudio.c,v 1.9 2003/01/04 14:48:12 miguelfreitas Exp $
*
*/
@@ -385,7 +385,7 @@ static void class_dispose (demux_class_t *this_gen) {
free (this);
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_realaudio_init_plugin (xine_t *xine, void *data) {
demux_ra_class_t *this;
@@ -407,9 +407,10 @@ static void *init_plugin (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
+#if 0
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "realaudio", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "realaudio", XINE_VERSION_CODE, NULL, demux_realaudio_init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
-
+#endif
diff --git a/src/demuxers/demux_roq.c b/src/demuxers/demux_roq.c
index c568ebcbb..e209cd85e 100644
--- a/src/demuxers/demux_roq.c
+++ b/src/demuxers/demux_roq.c
@@ -21,7 +21,7 @@
* For more information regarding the RoQ file format, visit:
* http://www.csse.monash.edu.au/~timf/
*
- * $Id: demux_roq.c,v 1.34 2002/12/23 04:29:56 tmmm Exp $
+ * $Id: demux_roq.c,v 1.35 2003/01/04 14:48:12 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -508,7 +508,7 @@ static void class_dispose (demux_class_t *this_gen) {
free (this);
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_roq_init_plugin (xine_t *xine, void *data) {
demux_roq_class_t *this;
@@ -530,8 +530,10 @@ static void *init_plugin (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
+#if 0
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "roq", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "roq", XINE_VERSION_CODE, NULL, demux_roq_init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
+#endif
diff --git a/src/demuxers/demux_smjpeg.c b/src/demuxers/demux_smjpeg.c
index 70e9e4180..7c76a7489 100644
--- a/src/demuxers/demux_smjpeg.c
+++ b/src/demuxers/demux_smjpeg.c
@@ -21,7 +21,7 @@
* For more information on the SMJPEG file format, visit:
* http://www.lokigames.com/development/smjpeg.php3
*
- * $Id: demux_smjpeg.c,v 1.30 2002/12/23 04:29:56 tmmm Exp $
+ * $Id: demux_smjpeg.c,v 1.31 2003/01/04 14:48:12 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -559,6 +559,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "smjpeg", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "smjpeg", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_snd.c b/src/demuxers/demux_snd.c
index 973527c65..7798f47ae 100644
--- a/src/demuxers/demux_snd.c
+++ b/src/demuxers/demux_snd.c
@@ -19,7 +19,7 @@
*
* SND/AU File Demuxer by Mike Melanson (melanson@pcisys.net)
*
- * $Id: demux_snd.c,v 1.21 2002/12/21 12:56:45 miguelfreitas Exp $
+ * $Id: demux_snd.c,v 1.22 2003/01/04 14:48:12 miguelfreitas Exp $
*
*/
@@ -425,7 +425,7 @@ static void class_dispose (demux_class_t *this_gen) {
free (this);
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_snd_init_plugin (xine_t *xine, void *data) {
demux_snd_class_t *this;
@@ -447,8 +447,10 @@ static void *init_plugin (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
+#if 0
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "snd", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "snd", XINE_VERSION_CODE, NULL, demux_snd_init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
+#endif
diff --git a/src/demuxers/demux_str.c b/src/demuxers/demux_str.c
index 45fd78e56..30ba1cc2e 100644
--- a/src/demuxers/demux_str.c
+++ b/src/demuxers/demux_str.c
@@ -21,7 +21,7 @@
* This demuxer handles either raw STR files (which are just a concatenation
* of raw compact disc sectors) or STR files with RIFF headers.
*
- * $Id: demux_str.c,v 1.1 2003/01/02 06:10:49 tmmm Exp $
+ * $Id: demux_str.c,v 1.2 2003/01/04 14:48:12 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -391,7 +391,7 @@ static void class_dispose (demux_class_t *this_gen) {
free (this);
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_str_init_plugin (xine_t *xine, void *data) {
demux_str_class_t *this;
@@ -413,8 +413,10 @@ static void *init_plugin (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
+#if 0
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "str", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "str", XINE_VERSION_CODE, NULL, demux_str_init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
+#endif
diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c
index 3ad3adc45..a2dff0100 100644
--- a/src/demuxers/demux_ts.c
+++ b/src/demuxers/demux_ts.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: demux_ts.c,v 1.73 2002/12/27 13:44:58 guenter Exp $
+ * $Id: demux_ts.c,v 1.74 2003/01/04 14:48:12 miguelfreitas Exp $
*
* Demultiplexer for MPEG2 Transport Streams.
*
@@ -2044,6 +2044,6 @@ static void *init_class (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "mpeg-ts", XINE_VERSION_CODE, NULL, init_class },
+ { PLUGIN_DEMUX, 20, "mpeg-ts", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_voc.c b/src/demuxers/demux_voc.c
index fbab20fb5..4f452d487 100644
--- a/src/demuxers/demux_voc.c
+++ b/src/demuxers/demux_voc.c
@@ -23,7 +23,7 @@
* It will only play that block if it is PCM data. More variations will be
* supported as they are encountered.
*
- * $Id: demux_voc.c,v 1.21 2002/12/21 12:56:46 miguelfreitas Exp $
+ * $Id: demux_voc.c,v 1.22 2003/01/04 14:48:12 miguelfreitas Exp $
*
*/
@@ -413,7 +413,7 @@ static void class_dispose (demux_class_t *this_gen) {
free (this);
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_voc_init_plugin (xine_t *xine, void *data) {
demux_voc_class_t *this;
@@ -435,8 +435,10 @@ static void *init_plugin (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
+#if 0
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "voc", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "voc", XINE_VERSION_CODE, NULL, demux_voc_init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
+#endif
diff --git a/src/demuxers/demux_vqa.c b/src/demuxers/demux_vqa.c
index c1784765e..063d9ef14 100644
--- a/src/demuxers/demux_vqa.c
+++ b/src/demuxers/demux_vqa.c
@@ -27,7 +27,7 @@
* block needs information from the previous audio block in order to be
* decoded, thus making random seeking difficult.
*
- * $Id: demux_vqa.c,v 1.24 2002/12/21 12:56:46 miguelfreitas Exp $
+ * $Id: demux_vqa.c,v 1.25 2003/01/04 14:48:12 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -453,7 +453,7 @@ static void class_dispose (demux_class_t *this_gen) {
free (this);
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_vqa_init_plugin (xine_t *xine, void *data) {
demux_vqa_class_t *this;
@@ -475,8 +475,10 @@ static void *init_plugin (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
+#if 0
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "vqa", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "vqa", XINE_VERSION_CODE, NULL, demux_vqa_init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
+#endif
diff --git a/src/demuxers/demux_wav.c b/src/demuxers/demux_wav.c
index 7457f95a2..b44996e6a 100644
--- a/src/demuxers/demux_wav.c
+++ b/src/demuxers/demux_wav.c
@@ -20,7 +20,7 @@
* MS WAV File Demuxer by Mike Melanson (melanson@pcisys.net)
* based on WAV specs that are available far and wide
*
- * $Id: demux_wav.c,v 1.29 2002/12/21 12:56:46 miguelfreitas Exp $
+ * $Id: demux_wav.c,v 1.30 2003/01/04 14:48:12 miguelfreitas Exp $
*
*/
@@ -426,7 +426,7 @@ static void class_dispose (demux_class_t *this_gen) {
free (this);
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_wav_init_plugin (xine_t *xine, void *data) {
demux_wav_class_t *this;
@@ -448,8 +448,10 @@ static void *init_plugin (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
+#if 0
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "wav", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "wav", XINE_VERSION_CODE, NULL, demux_wav_init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
+#endif
diff --git a/src/demuxers/demux_wc3movie.c b/src/demuxers/demux_wc3movie.c
index 5d7abefbd..bbb199c13 100644
--- a/src/demuxers/demux_wc3movie.c
+++ b/src/demuxers/demux_wc3movie.c
@@ -22,7 +22,7 @@
* For more information on the MVE file format, visit:
* http://www.pcisys.net/~melanson/codecs/
*
- * $Id: demux_wc3movie.c,v 1.30 2002/12/22 04:00:51 tmmm Exp $
+ * $Id: demux_wc3movie.c,v 1.31 2003/01/04 14:48:12 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -762,7 +762,7 @@ static void class_dispose (demux_class_t *this_gen) {
free (this);
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_wc3movie_init_plugin (xine_t *xine, void *data) {
demux_mve_class_t *this;
@@ -784,8 +784,10 @@ static void *init_plugin (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
+#if 0
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "wc3movie", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "wc3movie", XINE_VERSION_CODE, NULL, demux_wc3movie_init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
+#endif
diff --git a/src/demuxers/demux_yuv4mpeg2.c b/src/demuxers/demux_yuv4mpeg2.c
index 6c952168f..127226f3f 100644
--- a/src/demuxers/demux_yuv4mpeg2.c
+++ b/src/demuxers/demux_yuv4mpeg2.c
@@ -22,7 +22,7 @@
* tools, visit:
* http://mjpeg.sourceforge.net/
*
- * $Id: demux_yuv4mpeg2.c,v 1.15 2002/12/23 04:29:56 tmmm Exp $
+ * $Id: demux_yuv4mpeg2.c,v 1.16 2003/01/04 14:48:12 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -454,6 +454,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "yuv4mpeg2", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 20, "yuv4mpeg2", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/group_audio.c b/src/demuxers/group_audio.c
new file mode 100644
index 000000000..1a3a3b391
--- /dev/null
+++ b/src/demuxers/group_audio.c
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2000-2002 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
+ *
+ * This file contains plugin entries for several demuxers used in games
+ *
+ * $Id: group_audio.c,v 1.1 2003/01/04 14:48:12 miguelfreitas Exp $
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "xine_internal.h"
+#include "demux.h"
+
+
+void *demux_aud_init_plugin (xine_t *xine, void *data);
+void *demux_aiff_init_plugin (xine_t *xine, void *data);
+void *demux_cda_init_plugin (xine_t *xine, void *data);
+void *demux_mpgaudio_init_class (xine_t *xine, void *data);
+void *demux_realaudio_init_plugin (xine_t *xine, void *data);
+void *demux_snd_init_plugin (xine_t *xine, void *data);
+void *demux_voc_init_plugin (xine_t *xine, void *data);
+void *demux_wav_init_plugin (xine_t *xine, void *data);
+
+/*
+ * exported plugin catalog entries
+ */
+
+plugin_info_t xine_plugin_info[] = {
+ /* type, API, "name", version, special_info, init_function */
+ { PLUGIN_DEMUX, 20, "aud", XINE_VERSION_CODE, NULL, demux_aud_init_plugin },
+ { PLUGIN_DEMUX, 20, "aiff", XINE_VERSION_CODE, NULL, demux_aiff_init_plugin },
+ { PLUGIN_DEMUX, 20, "cda", XINE_VERSION_CODE, NULL, demux_cda_init_plugin },
+ { PLUGIN_DEMUX, 20, "mp3", XINE_VERSION_CODE, NULL, demux_mpgaudio_init_class },
+ { PLUGIN_DEMUX, 20, "realaudio", XINE_VERSION_CODE, NULL, demux_realaudio_init_plugin },
+ { PLUGIN_DEMUX, 20, "snd", XINE_VERSION_CODE, NULL, demux_snd_init_plugin },
+ { PLUGIN_DEMUX, 20, "voc", XINE_VERSION_CODE, NULL, demux_voc_init_plugin },
+ { PLUGIN_DEMUX, 20, "wav", XINE_VERSION_CODE, NULL, demux_wav_init_plugin },
+ { PLUGIN_NONE, 0, "", 0, NULL, NULL }
+};
diff --git a/src/demuxers/group_games.c b/src/demuxers/group_games.c
new file mode 100644
index 000000000..3aacb007c
--- /dev/null
+++ b/src/demuxers/group_games.c
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2000-2002 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
+ *
+ * This file contains plugin entries for several demuxers used in games
+ *
+ * $Id: group_games.c,v 1.1 2003/01/04 14:48:12 miguelfreitas Exp $
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "xine_internal.h"
+#include "demux.h"
+
+
+void *demux_eawve_init_plugin(xine_t *xine, void *data);
+void *demux_idcin_init_plugin (xine_t *xine, void *data);
+void *demux_ipmovie_init_plugin (xine_t *xine, void *data);
+void *demux_vqa_init_plugin (xine_t *xine, void *data);
+void *demux_wc3movie_init_plugin (xine_t *xine, void *data);
+void *demux_roq_init_plugin (xine_t *xine, void *data);
+void *demux_str_init_plugin (xine_t *xine, void *data);
+
+/*
+ * exported plugin catalog entries
+ */
+
+plugin_info_t xine_plugin_info[] = {
+ /* type, API, "name", version, special_info, init_function */
+ { PLUGIN_DEMUX, 20, "wve", XINE_VERSION_CODE, NULL, demux_eawve_init_plugin},
+ { PLUGIN_DEMUX, 20, "idcin", XINE_VERSION_CODE, NULL, demux_idcin_init_plugin },
+ { PLUGIN_DEMUX, 20, "ipmovie", XINE_VERSION_CODE, NULL, demux_ipmovie_init_plugin },
+ { PLUGIN_DEMUX, 20, "vqa", XINE_VERSION_CODE, NULL, demux_vqa_init_plugin },
+ { PLUGIN_DEMUX, 20, "wc3movie", XINE_VERSION_CODE, NULL, demux_wc3movie_init_plugin },
+ { PLUGIN_DEMUX, 20, "roq", XINE_VERSION_CODE, NULL, demux_roq_init_plugin },
+ { PLUGIN_DEMUX, 20, "str", XINE_VERSION_CODE, NULL, demux_str_init_plugin },
+ { PLUGIN_NONE, 0, "", 0, NULL, NULL }
+};
diff --git a/src/input/input_file.c b/src/input/input_file.c
index 42702855e..372e864a8 100644
--- a/src/input/input_file.c
+++ b/src/input/input_file.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: input_file.c,v 1.72 2002/12/29 16:48:34 mroi Exp $
+ * $Id: input_file.c,v 1.73 2003/01/04 14:48:12 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -71,7 +71,20 @@ typedef struct {
static uint32_t file_plugin_get_capabilities (input_plugin_t *this_gen) {
- return INPUT_CAP_SEEKABLE;
+ struct stat buf ;
+ file_input_plugin_t *this = (file_input_plugin_t *) this_gen;
+
+ if (this->fh <0)
+ return 0;
+
+ if (fstat (this->fh, &buf) == 0) {
+ if (S_ISREG(buf.st_mode))
+ return INPUT_CAP_SEEKABLE;
+ else
+ return 0;
+ } else
+ perror ("system call fstat");
+ return 0;
}
diff --git a/src/libsputext/demux_sputext.c b/src/libsputext/demux_sputext.c
index 28a37e8f5..455ef4030 100644
--- a/src/libsputext/demux_sputext.c
+++ b/src/libsputext/demux_sputext.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: demux_sputext.c,v 1.3 2002/12/30 18:07:49 mroi Exp $
+ * $Id: demux_sputext.c,v 1.4 2003/01/04 14:48:13 miguelfreitas Exp $
*
* code based on old libsputext/xine_decoder.c
*
@@ -1019,6 +1019,6 @@ static void *init_sputext_demux_class (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 19, "sputext", XINE_VERSION_CODE, NULL, &init_sputext_demux_class },
+ { PLUGIN_DEMUX, 20, "sputext", XINE_VERSION_CODE, NULL, &init_sputext_demux_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};