diff options
Diffstat (limited to 'src')
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 } }; |