[prev in list] [next in list] [prev in thread] [next in thread]
List: xine-cvslog
Subject: [xine-cvs] =?utf-8?q?HG=3A_xine-lib-1=2E2=3A_Join_several_av_demu?= =?utf-8?q?xers_into_a_single_mul
From: Torsten_Jager <t.jager () gmx ! de>
Date: 2016-08-06 15:20:59
Message-ID: 5f458e509d44cca52dbc.1470496830 () hg ! debian ! org
[Download RAW message or body]
# HG changeset patch
# User Torsten Jager <t.jager@gmx.de>
# Date 1470496830 -7200
# Node ID 5f458e509d44cca52dbcc9618e740d86b0a9ce52
# Branch default
# Parent f2d94dc6cdab5f2ba3ead6c4bb5166cbed69054c
Join several av demuxers into a single multiplugin lib.
This saves a bit of system load.
When updating an existing build dir tree, I recommend:
rm -f src/demuxers/.deps/* src/demuxers/.libs/* src/demuxers/*.la src/demuxers/*.lo
Make the Makefile.am change take effect as usual:
./autogen.sh
After updating an existing install, you may need to manually
delete these old plugin _binaries_:
xineplug_dmx_avi
xineplug_dmx_iff
xineplug_dmx_mpeg_ts
xineplug_dmx_mpeg_block
xineplug_dmx_mpeg
xineplug_dmx_mpeg_elem
xineplug_dmx_mpeg_pes
xineplug_dmx_qt
xineplug_dmx_yuv4mpeg2
xineplug_dmx_real
xineplug_dmx_rawdv
xineplug_dmx_yuv_frames
xineplug_dmx_matroska
xineplug_dmx_flv
xineplug_dmx_vc1_es
diff --git a/src/demuxers/Makefile.am b/src/demuxers/Makefile.am
--- a/src/demuxers/Makefile.am
+++ b/src/demuxers/Makefile.am
@@ -10,7 +10,9 @@
# ---------
# All of xine demuxer plugins should be named like the scheme "xineplug_dmx_"
-noinst_HEADERS = asfheader.h qtpalette.h group_games.h group_audio.h id3.h ebml.h \
matroska.h demux_matroska.h iff.h flacutils.h real_common.h +noinst_HEADERS = \
asfheader.h qtpalette.h group_games.h group_audio.h \ + group_video.h id3.h ebml.h \
matroska.h demux_matroska.h \ + iff.h flacutils.h real_common.h
if ENABLE_ASF
asf_module = xineplug_dmx_asf.la
@@ -35,54 +37,23 @@
$(modplug_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_elem.la \
- xineplug_dmx_mpeg_pes.la \
- xineplug_dmx_qt.la \
+ xineplug_dmx_video.la \
xineplug_dmx_fli.la \
- xineplug_dmx_yuv4mpeg2.la \
- xineplug_dmx_real.la \
- xineplug_dmx_rawdv.la \
xineplug_dmx_pva.la \
- xineplug_dmx_yuv_frames.la \
xineplug_dmx_slave.la \
xineplug_dmx_nsv.la \
- xineplug_dmx_matroska.la \
- xineplug_dmx_iff.la \
- xineplug_dmx_flv.la \
- xineplug_dmx_playlist.la \
- xineplug_dmx_vc1_es.la
+ xineplug_dmx_playlist.la
-xineplug_dmx_avi_la_SOURCES = demux_avi.c
-xineplug_dmx_avi_la_LIBADD = $(XINE_LIB) $(LTLIBINTL)
-
-xineplug_dmx_mpeg_block_la_SOURCES = demux_mpeg_block.c
-xineplug_dmx_mpeg_block_la_CFLAGS = $(AM_CFLAGS) $(AVUTIL_CFLAGS)
-xineplug_dmx_mpeg_block_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) $(AVUTIL_LIBS)
-
-xineplug_dmx_mpeg_la_SOURCES = demux_mpeg.c
-xineplug_dmx_mpeg_la_LIBADD = $(XINE_LIB) $(LTLIBINTL)
-
-xineplug_dmx_mpeg_elem_la_SOURCES = demux_elem.c
-xineplug_dmx_mpeg_elem_la_LIBADD = $(XINE_LIB)
-
-xineplug_dmx_vc1_es_la_SOURCES = demux_vc1es.c
-xineplug_dmx_vc1_es_la_LIBADD = $(XINE_LIB)
-
-xineplug_dmx_mpeg_pes_la_SOURCES = demux_mpeg_pes.c
-xineplug_dmx_mpeg_pes_la_CFLAGS = $(AM_CFLAGS) $(AVUTIL_CFLAGS)
-xineplug_dmx_mpeg_pes_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) $(AVUTIL_LIBS)
-
-xineplug_dmx_mpeg_ts_la_SOURCES = demux_ts.c
-xineplug_dmx_mpeg_ts_la_CFLAGS = $(AM_CFLAGS) $(AVUTIL_CFLAGS)
-xineplug_dmx_mpeg_ts_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) $(AVUTIL_LIBS)
-
-xineplug_dmx_qt_la_SOURCES = demux_qt.c
-xineplug_dmx_qt_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) $(ZLIB_LIBS)
-xineplug_dmx_qt_la_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_CPPFLAGS)
+xineplug_dmx_video_la_SOURCES = group_video.c \
+ demux_avi.c demux_iff.c \
+ demux_elem.c demux_mpeg_block.c demux_mpeg.c \
+ demux_mpeg_pes.c demux_ts.c \
+ demux_vc1es.c demux_qt.c demux_real.c demux_flv.c \
+ demux_rawdv.c demux_yuv_frames.c demux_yuv4mpeg2.c \
+ demux_matroska.c demux_matroska-chapters.c ebml.c
+xineplug_dmx_video_la_CFLAGS = $(AM_CFLAGS) $(AVUTIL_CFLAGS)
+xineplug_dmx_video_la_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_CPPFLAGS)
+xineplug_dmx_video_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) $(AVUTIL_LIBS) $(ZLIB_LIBS)
# note: asfheader.c also used from ../input
# is safe given same compiler options
@@ -92,15 +63,6 @@
xineplug_dmx_fli_la_SOURCES = demux_fli.c
xineplug_dmx_fli_la_LIBADD = $(XINE_LIB)
-xineplug_dmx_yuv4mpeg2_la_SOURCES = demux_yuv4mpeg2.c
-xineplug_dmx_yuv4mpeg2_la_LIBADD = $(XINE_LIB)
-
-xineplug_dmx_real_la_SOURCES = demux_real.c
-xineplug_dmx_real_la_LIBADD = $(XINE_LIB)
-
-xineplug_dmx_rawdv_la_SOURCES = demux_rawdv.c
-xineplug_dmx_rawdv_la_LIBADD = $(XINE_LIB)
-
xineplug_dmx_mng_la_SOURCES = demux_mng.c
xineplug_dmx_mng_la_LIBADD = $(XINE_LIB) $(ZLIB_LIBS) $(MNG_LIBS)
xineplug_dmx_mng_la_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_CPPFLAGS)
@@ -128,9 +90,6 @@
xineplug_dmx_modplug_la_LIBADD = $(XINE_LIB) $(LIBMODPLUG_LIBS)
xineplug_dmx_modplug_la_CFLAGS = $(AM_CFLAGS) $(LIBMODPLUG_CFLAGS)
-xineplug_dmx_yuv_frames_la_SOURCES = demux_yuv_frames.c
-xineplug_dmx_yuv_frames_la_LIBADD = $(XINE_LIB)
-
xineplug_dmx_slave_la_SOURCES = demux_slave.c
xineplug_dmx_slave_la_LIBADD = $(XINE_LIB)
@@ -140,15 +99,5 @@
xineplug_dmx_nsv_la_SOURCES = demux_nsv.c
xineplug_dmx_nsv_la_LIBADD = $(XINE_LIB)
-xineplug_dmx_matroska_la_SOURCES = demux_matroska.c demux_matroska-chapters.c ebml.c
-xineplug_dmx_matroska_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) $(ZLIB_LIBS)
-xineplug_dmx_matroska_la_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_CPPFLAGS)
-
-xineplug_dmx_iff_la_SOURCES = demux_iff.c
-xineplug_dmx_iff_la_LIBADD = $(XINE_LIB) $(LTLIBINTL)
-
-xineplug_dmx_flv_la_SOURCES = demux_flv.c
-xineplug_dmx_flv_la_LIBADD = $(XINE_LIB) $(LTLIBINTL)
-
xineplug_dmx_playlist_la_SOURCES = demux_playlist.c
xineplug_dmx_playlist_la_LIBADD = $(XINE_LIB) $(LTLIBINTL)
--git a/src/demuxers/demux_avi.c b/src/demuxers/demux_avi.c
--- a/src/demuxers/demux_avi.c
+++ b/src/demuxers/demux_avi.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2000-2012 the xine project
+ * Copyright (C) 2000-2016 the xine project
*
* This file is part of xine, a free video player.
*
@@ -70,6 +70,9 @@
#define DEBUG_ODML
#define LOG
*/
+
+#include "group_video.h"
+
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/demux.h>
@@ -2317,7 +2320,7 @@
/*
* demux avi class
*/
-static void *init_class (xine_t *xine, void *data) {
+void *demux_avi_init_class (xine_t *xine, void *data) {
demux_avi_class_t *this;
this = calloc(1, sizeof(demux_avi_class_t));
@@ -2334,15 +2337,3 @@
return this;
}
-/*
- * exported plugin catalog entry
- */
-static const demuxer_info_t demux_info_avi = {
- 10 /* priority */
-};
-
-const plugin_info_t xine_plugin_info[] EXPORTED = {
- /* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 27, "avi", XINE_VERSION_CODE, &demux_info_avi, init_class },
- { PLUGIN_NONE, 0, "", 0, NULL, NULL }
-};
--git a/src/demuxers/demux_elem.c b/src/demuxers/demux_elem.c
--- a/src/demuxers/demux_elem.c
+++ b/src/demuxers/demux_elem.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2000-2009 the xine project
+ * Copyright (C) 2000-2016 the xine project
*
* This file is part of xine, a free video player.
*
@@ -38,6 +38,8 @@
#define LOG
*/
+#include "group_video.h"
+
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/compat.h>
@@ -246,7 +248,7 @@
return &this->demux_plugin;
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_elem_init_class (xine_t *xine, void *data) {
demux_mpeg_elem_class_t *this;
this = calloc(1, sizeof(demux_mpeg_elem_class_t));
@@ -261,15 +263,3 @@
return this;
}
-/*
- * exported plugin catalog entry
- */
-static const demuxer_info_t demux_info_elem = {
- 0 /* priority */
-};
-
-const plugin_info_t xine_plugin_info[] EXPORTED = {
- /* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 27, "elem", XINE_VERSION_CODE, &demux_info_elem, init_plugin },
- { PLUGIN_NONE, 0, "", 0, NULL, NULL }
-};
--git a/src/demuxers/demux_flv.c b/src/demuxers/demux_flv.c
--- a/src/demuxers/demux_flv.c
+++ b/src/demuxers/demux_flv.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2015 the xine project
+ * Copyright (C) 2004-2016 the xine project
*
* This file is part of xine, a free video player.
*
@@ -49,6 +49,9 @@
/*
#define LOG
*/
+
+#include "group_video.h"
+
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/compat.h>
@@ -1112,7 +1115,7 @@
return &this->demux_plugin;
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_flv_init_class (xine_t *xine, void *data) {
demux_flv_class_t *this;
this = calloc(1, sizeof (demux_flv_class_t));
@@ -1129,16 +1132,3 @@
return this;
}
-/*
- * exported plugin catalog entry
- */
-static const demuxer_info_t demux_info_flv = {
- 10 /* priority */
-};
-
-const plugin_info_t xine_plugin_info[] EXPORTED = {
- /* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 27, "flashvideo", XINE_VERSION_CODE, &demux_info_flv, init_plugin \
},
- { PLUGIN_NONE, 0, "", 0, NULL, NULL }
-};
-
--git a/src/demuxers/demux_iff.c b/src/demuxers/demux_iff.c
--- a/src/demuxers/demux_iff.c
+++ b/src/demuxers/demux_iff.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2012 the xine project
+ * Copyright (C) 2004-2016 the xine project
*
* This file is part of xine, a free video player.
*
@@ -47,6 +47,9 @@
#include <string.h>
#include <stdlib.h>
+#define LOG_MODULE "demux_iff"
+#include "group_video.h"
+
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/demux.h>
@@ -1214,7 +1217,7 @@
return &this->demux_plugin;
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_iff_init_class (xine_t *xine, void *data) {
demux_iff_class_t *this;
this = calloc(1, sizeof(demux_iff_class_t));
@@ -1237,16 +1240,3 @@
return this;
}
-/*
- * exported plugin catalog entry
- */
-static const demuxer_info_t demux_info_iff = {
- 10 /* priority */
-};
-
-const plugin_info_t xine_plugin_info[] EXPORTED = {
- /* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 27, "iff", XINE_VERSION_CODE, &demux_info_iff, init_plugin },
- { PLUGIN_NONE, 0, "", 0, NULL, NULL }
-};
-
--git a/src/demuxers/demux_matroska.c b/src/demuxers/demux_matroska.c
--- a/src/demuxers/demux_matroska.c
+++ b/src/demuxers/demux_matroska.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2000-2014 the xine project
+ * Copyright (C) 2000-2016 the xine project
*
* This file is part of xine, a free video player.
*
@@ -43,6 +43,8 @@
#define LOG
*/
+#include "group_video.h"
+
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/demux.h>
@@ -3100,7 +3102,7 @@
/*
* demux matroska class
*/
-static void *init_class (xine_t *xine, void *data) {
+void *demux_matroska_init_class (xine_t *xine, void *data) {
demux_matroska_class_t *this;
@@ -3120,15 +3122,3 @@
return this;
}
-/*
- * exported plugin catalog entry
- */
-static const demuxer_info_t demux_info_matroska = {
- 10 /* priority */
-};
-
-const plugin_info_t xine_plugin_info[] EXPORTED = {
- /* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 27, "matroska", XINE_VERSION_CODE, &demux_info_matroska, \
init_class },
- { PLUGIN_NONE, 0, "", 0, NULL, NULL }
-};
--git a/src/demuxers/demux_mpeg.c b/src/demuxers/demux_mpeg.c
--- a/src/demuxers/demux_mpeg.c
+++ b/src/demuxers/demux_mpeg.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2000-2009 the xine project
+ * Copyright (C) 2000-2016 the xine project
*
* This file is part of xine, a free video player.
*
@@ -39,6 +39,8 @@
#define LOG
*/
+#include "group_video.h"
+
#include <xine/xine_internal.h>
#include <xine/demux.h>
#include <xine/xineutils.h>
@@ -1221,7 +1223,7 @@
return &this->demux_plugin;
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_mpeg_init_class (xine_t *xine, void *data) {
demux_mpeg_class_t *this;
this = calloc(1, sizeof(demux_mpeg_class_t));
@@ -1238,15 +1240,3 @@
return this;
}
-/*
- * exported plugin catalog entry
- */
-static const demuxer_info_t demux_info_mpeg = {
- 9 /* priority */
-};
-
-const plugin_info_t xine_plugin_info[] EXPORTED = {
- /* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 27, "mpeg", XINE_VERSION_CODE, &demux_info_mpeg, init_plugin },
- { PLUGIN_NONE, 0, "", 0, NULL, NULL }
-};
--git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c
--- a/src/demuxers/demux_mpeg_block.c
+++ b/src/demuxers/demux_mpeg_block.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2000-2012 the xine project
+ * Copyright (C) 2000-2016 the xine project
*
* This file is part of xine, a free video player.
*
@@ -43,6 +43,8 @@
#define LOG
*/
+#include "group_video.h"
+
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/demux.h>
@@ -1482,7 +1484,7 @@
return &this->demux_plugin;
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_mpeg_block_init_class (xine_t *xine, void *data) {
demux_mpeg_block_class_t *this;
@@ -1500,15 +1502,3 @@
return this;
}
-/*
- * exported plugin catalog entry
- */
-static const demuxer_info_t demux_info_mpeg_block = {
- 10 /* priority */
-};
-
-const plugin_info_t xine_plugin_info[] EXPORTED = {
- /* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 27, "mpeg_block", XINE_VERSION_CODE, &demux_info_mpeg_block, \
init_plugin },
- { PLUGIN_NONE, 0, "", 0, NULL, NULL }
-};
--git a/src/demuxers/demux_mpeg_pes.c b/src/demuxers/demux_mpeg_pes.c
--- a/src/demuxers/demux_mpeg_pes.c
+++ b/src/demuxers/demux_mpeg_pes.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2000-2012 the xine project
+ * Copyright (C) 2000-2016 the xine project
*
* This file is part of xine, a free video player.
*
@@ -47,6 +47,8 @@
#define LOG
*/
+#include "group_video.h"
+
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/demux.h>
@@ -1777,7 +1779,7 @@
return &this->demux_plugin;
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_pes_init_class (xine_t *xine, void *data) {
demux_mpeg_pes_class_t *this;
this = calloc(1, sizeof(demux_mpeg_pes_class_t));
@@ -1794,15 +1796,4 @@
return this;
}
-/*
- * exported plugin catalog entry
- */
-static const demuxer_info_t demux_info_mpeg_pes = {
- 10 /* priority */
-};
-const plugin_info_t xine_plugin_info[] EXPORTED = {
- /* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 27, "mpeg_pes", XINE_VERSION_CODE, &demux_info_mpeg_pes, \
init_plugin },
- { PLUGIN_NONE, 0, "", 0, NULL, NULL }
-};
--git a/src/demuxers/demux_qt.c b/src/demuxers/demux_qt.c
--- a/src/demuxers/demux_qt.c
+++ b/src/demuxers/demux_qt.c
@@ -46,6 +46,9 @@
#include <ctype.h>
#include <zlib.h>
+#define LOG_MODULE "demux_qt"
+#include "group_video.h"
+
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/demux.h>
@@ -3536,7 +3539,7 @@
return &this->demux_plugin;
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_qt_init_class (xine_t *xine, void *data) {
demux_qt_class_t *this;
@@ -3559,16 +3562,3 @@
return this;
}
-/*
- * exported plugin catalog entry
- */
-static const demuxer_info_t demux_info_qt = {
- 10 /* priority */
-};
-
-const plugin_info_t xine_plugin_info[] EXPORTED = {
- /* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 27, "quicktime", XINE_VERSION_CODE, &demux_info_qt, init_plugin },
- { PLUGIN_NONE, 0, "", 0, NULL, NULL }
-};
-
--git a/src/demuxers/demux_rawdv.c b/src/demuxers/demux_rawdv.c
--- a/src/demuxers/demux_rawdv.c
+++ b/src/demuxers/demux_rawdv.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2000-2009 the xine project
+ * Copyright (C) 2000-2016 the xine project
*
* This file is part of xine, a free video player.
*
@@ -32,6 +32,9 @@
#include <unistd.h>
#include <string.h>
+#define LOG_MODULE "demux_rawdv"
+#include "group_video.h"
+
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/compat.h>
@@ -393,7 +396,7 @@
return &this->demux_plugin;
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_rawdv_init_class (xine_t *xine, void *data) {
demux_raw_dv_class_t *this;
this = calloc(1, sizeof(demux_raw_dv_class_t));
@@ -408,15 +411,3 @@
return this;
}
-/*
- * exported plugin catalog entry
- */
-static const demuxer_info_t demux_info_raw_dv = {
- 1 /* priority */
-};
-
-const plugin_info_t xine_plugin_info[] EXPORTED = {
- /* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 27, "rawdv", XINE_VERSION_CODE, &demux_info_raw_dv, init_plugin },
- { PLUGIN_NONE, 0, "", 0, NULL, NULL }
-};
--git a/src/demuxers/demux_real.c b/src/demuxers/demux_real.c
--- a/src/demuxers/demux_real.c
+++ b/src/demuxers/demux_real.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2000-2013 the xine project
+ * Copyright (C) 2000-2016 the xine project
*
* This file is part of xine, a free video player.
*
@@ -52,6 +52,8 @@
#define LOG
*/
+#include "group_video.h"
+
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/compat.h>
@@ -1764,7 +1766,7 @@
return &this->demux_plugin;
}
-static void *init_class (xine_t *xine, void *data) {
+void *demux_real_init_class (xine_t *xine, void *data) {
demux_real_class_t *const this = calloc(1, sizeof(demux_real_class_t));
this->demux_class.open_plugin = open_plugin;
@@ -1781,15 +1783,3 @@
return this;
}
-/*
- * exported plugin catalog entry
- */
-static const demuxer_info_t demux_info_real = {
- 10 /* priority */
-};
-
-const plugin_info_t xine_plugin_info[] EXPORTED = {
- /* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 27, "real", XINE_VERSION_CODE, &demux_info_real, init_class },
- { PLUGIN_NONE, 0, "", 0, NULL, NULL }
-};
--git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c
--- a/src/demuxers/demux_ts.c
+++ b/src/demuxers/demux_ts.c
@@ -1,6 +1,6 @@
/*
- * Copyright (C) 2000-2015 the xine project
+ * Copyright (C) 2000-2016 the xine project
*
* This file is part of xine, a free video player.
*
@@ -159,6 +159,9 @@
/*
#define LOG
*/
+/* #define LOG_DYNAMIC_PMT */
+
+#include "group_video.h"
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
@@ -2747,7 +2750,7 @@
/*
* ts demuxer class
*/
-static void *init_class (xine_t *xine, void *data) {
+void *demux_ts_init_class (xine_t *xine, void *data) {
demux_ts_class_t *this;
@@ -2772,17 +2775,3 @@
return this;
}
-
-/*
- * exported plugin catalog entry
- */
-static const demuxer_info_t demux_info_ts = {
- 10 /* priority */
-};
-
-const plugin_info_t xine_plugin_info[] EXPORTED = {
- /* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 27, "mpeg-ts", XINE_VERSION_CODE, &demux_info_ts, init_class },
- { PLUGIN_NONE, 0, "", 0, NULL, NULL }
-};
-
--git a/src/demuxers/demux_vc1es.c b/src/demuxers/demux_vc1es.c
--- a/src/demuxers/demux_vc1es.c
+++ b/src/demuxers/demux_vc1es.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008-2009 the xine project
+ * Copyright (C) 2008-2016 the xine project
* Copyright (C) 2008 Christophe Thommeret <hftom@free.fr>
*
* This file is part of xine, a free video player.
@@ -55,6 +55,8 @@
#define LOG_MODULE "demux_vc1es"
#define LOG_VERBOSE
+#include "group_video.h"
+
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/compat.h>
@@ -373,7 +375,7 @@
-static void *init_plugin( xine_t *xine, void *data )
+void *demux_vc1es_init_class ( xine_t *xine, void *data )
{
demux_vc1_es_class_t *this;
@@ -389,18 +391,3 @@
return this;
}
-
-/*
- * exported plugin catalog entry
- */
-static const demuxer_info_t demux_info_vc1es = {
- 0 /* priority */
-};
-
-
-
-const plugin_info_t xine_plugin_info[] EXPORTED = {
- /* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 27, "vc1es", XINE_VERSION_CODE, &demux_info_vc1es, init_plugin },
- { PLUGIN_NONE, 0, "", 0, NULL, NULL }
-};
--git a/src/demuxers/demux_yuv4mpeg2.c b/src/demuxers/demux_yuv4mpeg2.c
--- a/src/demuxers/demux_yuv4mpeg2.c
+++ b/src/demuxers/demux_yuv4mpeg2.c
@@ -36,6 +36,9 @@
#include <string.h>
#include <stdlib.h>
+#define LOG_MODULE "demux_yuv4mpeg2"
+#include "group_video.h"
+
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/compat.h>
@@ -433,7 +436,7 @@
return &this->demux_plugin;
}
-static void *init_plugin (xine_t *xine, void *data) {
+void *demux_yuv4mpeg2_init_class (xine_t *xine, void *data) {
demux_yuv4mpeg2_class_t *this;
this = calloc(1, sizeof(demux_yuv4mpeg2_class_t));
@@ -448,15 +451,3 @@
return this;
}
-/*
- * exported plugin catalog entry
- */
-static const demuxer_info_t demux_info_yuv4mpeg2 = {
- 10 /* priority */
-};
-
-const plugin_info_t xine_plugin_info[] EXPORTED = {
- /* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 27, "yuv4mpeg2", XINE_VERSION_CODE, &demux_info_yuv4mpeg2, \
init_plugin },
- { PLUGIN_NONE, 0, "", 0, NULL, NULL }
-};
--git a/src/demuxers/demux_yuv_frames.c b/src/demuxers/demux_yuv_frames.c
--- a/src/demuxers/demux_yuv_frames.c
+++ b/src/demuxers/demux_yuv_frames.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2003-2014 the xine project
+ * Copyright (C) 2003-2016 the xine project
* Copyright (C) 2003 Jeroen Asselman <j.asselman@itsec-ps.nl>
*
* This file is part of xine, a free video player.
@@ -39,6 +39,8 @@
#define LOG
*/
+#include "group_video.h"
+
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/demux.h>
@@ -224,7 +226,7 @@
/*
* demuxer class
*/
-static void *init_class (xine_t *xine, void *data) {
+void *demux_yuv_frames_init_class (xine_t *xine, void *data) {
demux_yuv_frames_class_t *this;
this = calloc(1, sizeof(demux_yuv_frames_class_t));
@@ -240,18 +242,7 @@
}
/*
- * exported plugin catalog entry
- */
-static const demuxer_info_t demux_info_yuv_frames = {
- 0 /* priority */
-};
-
-const plugin_info_t xine_plugin_info[] EXPORTED = {
- /* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 27, "yuv_frames", XINE_VERSION_CODE, &demux_info_yuv_frames, \
init_class },
- { PLUGIN_NONE, 0, "", 0, NULL, NULL }
-};
-
-/*
* vim:sw=3:sts=3:
*/
+
+
--git a/src/demuxers/group_video.c b/src/demuxers/group_video.c
new file mode 100644
--- /dev/null
+++ b/src/demuxers/group_video.c
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2000-2016 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ * This file contains plugin entries for several av demuxers.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <xine/xine_internal.h>
+#include <xine/demux.h>
+
+#include "group_video.h"
+
+/*
+ * exported plugin catalog entries
+ */
+static const demuxer_info_t demux_info_avi = { 10 /* priority */ };
+static const demuxer_info_t demux_info_elem = { 0 /* priority */ };
+static const demuxer_info_t demux_info_flv = { 10 /* priority */ };
+static const demuxer_info_t demux_info_iff = { 10 /* priority */ };
+static const demuxer_info_t demux_info_mpeg = { 9 /* priority */ };
+static const demuxer_info_t demux_info_mpeg_block = { 10 /* priority */ };
+static const demuxer_info_t demux_info_mpeg_pes = { 10 /* priority */ };
+static const demuxer_info_t demux_info_matroska = { 10 /* priority */ };
+static const demuxer_info_t demux_info_qt = { 10 /* priority */ };
+static const demuxer_info_t demux_info_raw_dv = { 1 /* priority */ };
+static const demuxer_info_t demux_info_real = { 10 /* priority */ };
+static const demuxer_info_t demux_info_ts = { 10 /* priority */ };
+static const demuxer_info_t demux_info_vc1es = { 0 /* priority */ };
+static const demuxer_info_t demux_info_yuv_frames = { 0 /* priority */ };
+static const demuxer_info_t demux_info_yuv4mpeg2 = { 10 /* priority */ };
+
+
+const plugin_info_t xine_plugin_info[] EXPORTED = {
+ /* type, API, "name", version, special_info, init_function */
+ { PLUGIN_DEMUX, 27, "avi", XINE_VERSION_CODE, &demux_info_avi, \
demux_avi_init_class }, + { PLUGIN_DEMUX, 27, "elem", XINE_VERSION_CODE, \
&demux_info_elem, demux_elem_init_class }, + { PLUGIN_DEMUX, 27, "flashvideo", \
XINE_VERSION_CODE, &demux_info_flv, demux_flv_init_class }, + { PLUGIN_DEMUX, \
27, "iff", XINE_VERSION_CODE, &demux_info_iff, demux_iff_init_class }, \
+ { PLUGIN_DEMUX, 27, "matroska", XINE_VERSION_CODE, &demux_info_matroska, \
demux_matroska_init_class }, + { PLUGIN_DEMUX, 27, "mpeg", XINE_VERSION_CODE, \
&demux_info_mpeg, demux_mpeg_init_class }, + { PLUGIN_DEMUX, 27, "mpeg_block", \
XINE_VERSION_CODE, &demux_info_mpeg_block, demux_mpeg_block_init_class }, + { \
PLUGIN_DEMUX, 27, "mpeg-ts", XINE_VERSION_CODE, &demux_info_ts, \
demux_ts_init_class }, + { PLUGIN_DEMUX, 27, "mpeg_pes", XINE_VERSION_CODE, \
&demux_info_mpeg_pes, demux_pes_init_class }, + { PLUGIN_DEMUX, 27, "quicktime", \
XINE_VERSION_CODE, &demux_info_qt, demux_qt_init_class }, + { PLUGIN_DEMUX, \
27, "rawdv", XINE_VERSION_CODE, &demux_info_raw_dv, demux_rawdv_init_class \
}, + { PLUGIN_DEMUX, 27, "real", XINE_VERSION_CODE, &demux_info_real, \
demux_real_init_class }, + { PLUGIN_DEMUX, 27, "vc1es", XINE_VERSION_CODE, \
&demux_info_vc1es, demux_vc1es_init_class }, + { PLUGIN_DEMUX, 27, \
"yuv_frames", XINE_VERSION_CODE, &demux_info_yuv_frames, demux_yuv_frames_init_class \
}, + { PLUGIN_DEMUX, 27, "yuv4mpeg2", XINE_VERSION_CODE, &demux_info_yuv4mpeg2, \
demux_yuv4mpeg2_init_class }, + { PLUGIN_NONE, 0, "", 0, NULL, NULL }
+};
+
--git a/src/demuxers/group_video.h b/src/demuxers/group_video.h
new file mode 100644
--- /dev/null
+++ b/src/demuxers/group_video.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2000-2016 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ */
+
+#ifndef HAVE_GROUP_VIDEO_H
+#define HAVE_GROUP_VIDEO_H
+
+#include <xine/xine_internal.h>
+
+void *demux_avi_init_class (xine_t *xine, void *data);
+void *demux_elem_init_class (xine_t *xine, void *data);
+void *demux_flv_init_class (xine_t *xine, void *data);
+void *demux_iff_init_class (xine_t *xine, void *data);
+void *demux_matroska_init_class (xine_t *xine, void *data);
+void *demux_mpeg_init_class (xine_t *xine, void *data);
+void *demux_pes_init_class (xine_t *xine, void *data);
+void *demux_mpeg_block_init_class (xine_t *xine, void *data);
+void *demux_qt_init_class (xine_t *xine, void *data);
+void *demux_rawdv_init_class (xine_t *xine, void *data);
+void *demux_real_init_class (xine_t *xine, void *data);
+void *demux_ts_init_class (xine_t *xine, void *data);
+void *demux_vc1es_init_class (xine_t *xine, void *data);
+void *demux_yuv_frames_init_class (xine_t *xine, void *data);
+void *demux_yuv4mpeg2_init_class (xine_t *xine, void *data);
+
+#endif
+
------------------------------------------------------------------------------
_______________________________________________
Xine-cvslog mailing list
Xine-cvslog@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xine-cvslog
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic