[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