[gstreamermm] Move plugin definition map into src/filelist.am



commit eb3bd054d0772ff53fc48bc830069fbb81735c28
Author: Daniel Elstner <daniel kitta gmail com>
Date:   Tue Sep 29 21:00:10 2009 +0200

    Move plugin definition map into src/filelist.am
    
    * configure.ac (GSTREAMERMM_PLUGIN_DEFS): Move map of plugin names
    to GObject type names into the gstreamer/src/filelist.am file.
    * gstreamer/src/filelist.am (plugin_type_map): New variable.
    * gstreamer/src/Makefile.am (target_plugin_def): Adjust.

 ChangeLog                 |    9 +++++
 configure.ac              |   80 ---------------------------------------------
 gstreamer/src/Makefile.am |   11 +++---
 gstreamer/src/filelist.am |   67 ++++++++++++++++++++++++++++++++++++-
 4 files changed, 80 insertions(+), 87 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 886d4a6..173af7e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2009-09-29  Daniel Elstner  <daniel kitta gmail com>
 
+	Move plugin definition map into src/filelist.am
+
+	* configure.ac (GSTREAMERMM_PLUGIN_DEFS): Move map of plugin names
+	to GObject type names into the gstreamer/src/filelist.am file.
+	* gstreamer/src/filelist.am (plugin_type_map): New variable.
+	* gstreamer/src/Makefile.am (target_plugin_def): Adjust.
+
+2009-09-29  Daniel Elstner  <daniel kitta gmail com>
+
 	Exorcize evil code in C++ plugin generator
 
 	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Aided by the
diff --git a/configure.ac b/configure.ac
index dfe6e0e..349b80f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -76,86 +76,6 @@ MM_ARG_ENABLE_WARNINGS([GSTREAMERMM_WXXFLAGS],
                        [-Wall], [-Wall -Wextra],
                        [G GSTREAMER])
 
-#########################################################################
-#  Plug-in definitions
-#########################################################################
-
-# To add a plugin, add the plugin definition, in the form of
-# "plugin=CppClassName" to the space-separated list of definitions below.
-# (Where "plugin" is the plugin name as recognized by gst-inspect and
-# "CppClassName" is the desired name of the C++ class.)
-#
-# Also add the target .hg file name to the plugins_hg variable in the
-# gstreamer/src/fileslist.am.  (That must be the same as "CppClassName" - all
-# in lowercase with a .hg extension).  Make sure that the order of both lists
-# correspond.
-
-# TODO: Include appsink and appsrc plug-ins in list below if they indeed are
-# plug-ins (see gst-plugins-base docs for details) and when they don't cause
-# gstreamermm initialization errors.
-GSTREAMERMM_PLUGIN_DEFS="\
-adder=Adder \
-alsamixer=AlsaMixer \
-alsasink=AlsaSink \
-alsasrc=AlsaSrc \
-audioconvert=AudioConvert \
-audioresample=AudioResample \
-audiotestsrc=AudioTestSrc \
-capsfilter=CapsFilter \
-cdparanoiasrc=CdParanoiaSrc \
-clockoverlay=ClockOverlay \
-decodebin2=DecodeBin2 \
-decodebin=DecodeBin \
-fakesink=FakeSink \
-fakesrc=FakeSrc \
-fdsink=FdSink \
-fdsrc=FdSrc \
-ffmpegcolorspace=FfmpegColorSpace \
-filesink=FileSink \
-filesrc=FileSrc \
-gdpdepay=GDPDepay \
-gdppay=GDPPay \
-giosink=GioSink \
-giosrc=GioSrc \
-giostreamsink=GioStreamSink \
-giostreamsrc=GioStreamSrc \
-identity=Identity \
-multifdsink=MultiFdSink \
-multiqueue=MultiQueue \
-oggdemux=OggDemux \
-oggmux=OggMux \
-playbin2=PlayBin2 \
-playbin=PlayBin \
-queue=Queue \
-tcpclientsink=TCPClientSink \
-tcpclientsrc=TCPClientSrc \
-tcpserversink=TcpServerSink \
-tcpserversrc=TCPServerSrc \
-tee=Tee \
-textoverlay=TextOverlay \
-textrender=TextRender \
-theoradec=TheoraDec \
-theoraenc=TheoraEnc \
-theoraparse=TheoraParse \
-timeoverlay=TimeOverlay \
-typefind=TypeFindElement \
-uridecodebin=UriDecodeBin \
-videorate=VideoRate \
-videoscale=VideoScale \
-videotestsrc=VideoTestSrc \
-volume=Volume \
-vorbisdec=VorbisDec \
-vorbisenc=VorbisEnc \
-vorbisparse=VorbisParse \
-vorbistag=VorbisTag \
-ximagesink=XImageSink \
-xvimagesink=XvImageSink \
-"
-
-AC_SUBST([GSTREAMERMM_PLUGIN_DEFS])
-
-#########################################################################
-
 AC_CONFIG_FILES([Makefile
                  tools/Makefile
                  gstreamer/${GSTREAMERMM_MODULE_NAME}.pc:gstreamer/gstreamermm.pc.in
diff --git a/gstreamer/src/Makefile.am b/gstreamer/src/Makefile.am
index a6f1ad9..0f96c35 100644
--- a/gstreamer/src/Makefile.am
+++ b/gstreamer/src/Makefile.am
@@ -34,7 +34,7 @@ generate_plugin_dependencies = \
 generate_gst_wrap_init = $(top_srcdir)/tools/generate_gst_wrap_init.pl
 
 target_plugin     = $(patsubst %element,%,$(basename $(notdir $@)))
-target_plugin_def = $(subst =, ,$(filter $(target_plugin)=%,$(GSTREAMERMM_PLUGIN_DEFS)))
+target_plugin_def = $(subst =, ,$(filter $(target_plugin)=%,$(plugin_type_map)))
 
 $(binding_outputdir)/gst_wrap_init.cc: $(generate_gst_wrap_init) $(binding_relfiles_hg)
 	$(AM_V_GEN)$(PERL) -- $(generate_gst_wrap_init) $(wrap_init_flags) \
@@ -43,10 +43,11 @@ $(binding_outputdir)/gst_wrap_init.cc: $(generate_gst_wrap_init) $(binding_relfi
 # This is to generate plugin .ccg files.  The generated .ccg file is piped
 # through m4 using the macros in tools/m4/ctocpp_base.m4 which then produces
 # the final .ccg file.
-# TODO: The confirm-existence check should probably run at configure time.
-# Also, even if this stays in the makefile, why the need for a separate
-# invocation of generate_plugin_gmmproc_file, when it could be done with
-# just one step?
+# TODO: The confirm-existence check should probably run at configure time.  Hm,
+# probably not possible as the required test program isn't available at that
+# point.  Also, even if this stays in the makefile, why the need for a separate
+# invocation of generate_plugin_gmmproc_file, when it could be done with just
+# one step?
 $(addprefix $(srcdir)/,$(plugins_ccg)): $(generate_plugin_dependencies)
 	@plugin='$(firstword $(target_plugin_def))'; \
 	 $(generate_plugin_gmmproc_file) --confirm-existence "$$plugin" || \
diff --git a/gstreamer/src/filelist.am b/gstreamer/src/filelist.am
index f6eb5be..b2e8369 100644
--- a/gstreamer/src/filelist.am
+++ b/gstreamer/src/filelist.am
@@ -154,5 +154,68 @@ files_hg  =                     \
 
 files_ccg = $(files_hg:.hg=.ccg)
 
-patched_hg =                    \
-        taglist.hg
+# To add a plugin, add the plugin definition, in the form of
+# "plugin=CppClassName" to the space-separated list of definitions below.
+# (Where "plugin" is the plugin name as recognized by gst-inspect and
+# "CppClassName" is the desired name of the C++ class.)
+#
+# TODO: Include appsink and appsrc plug-ins in list below if they indeed are
+# plug-ins (see gst-plugins-base docs for details) and when they don't cause
+# gstreamermm initialization errors.
+plugin_type_map =				\
+	adder=Adder				\
+	alsamixer=AlsaMixer			\
+	alsasink=AlsaSink			\
+	alsasrc=AlsaSrc				\
+	audioconvert=AudioConvert		\
+	audioresample=AudioResample		\
+	audiotestsrc=AudioTestSrc		\
+	capsfilter=CapsFilter			\
+	cdparanoiasrc=CdParanoiaSrc		\
+	clockoverlay=ClockOverlay		\
+	decodebin2=DecodeBin2			\
+	decodebin=DecodeBin			\
+	fakesink=FakeSink			\
+	fakesrc=FakeSrc				\
+	fdsink=FdSink				\
+	fdsrc=FdSrc				\
+	ffmpegcolorspace=FfmpegColorSpace	\
+	filesink=FileSink			\
+	filesrc=FileSrc				\
+	gdpdepay=GDPDepay			\
+	gdppay=GDPPay				\
+	giosink=GioSink				\
+	giosrc=GioSrc				\
+	giostreamsink=GioStreamSink		\
+	giostreamsrc=GioStreamSrc		\
+	identity=Identity			\
+	multifdsink=MultiFdSink			\
+	multiqueue=MultiQueue			\
+	oggdemux=OggDemux			\
+	oggmux=OggMux				\
+	playbin2=PlayBin2			\
+	playbin=PlayBin				\
+	queue=Queue				\
+	tcpclientsink=TCPClientSink		\
+	tcpclientsrc=TCPClientSrc		\
+	tcpserversink=TcpServerSink		\
+	tcpserversrc=TCPServerSrc		\
+	tee=Tee					\
+	textoverlay=TextOverlay			\
+	textrender=TextRender			\
+	theoradec=TheoraDec			\
+	theoraenc=TheoraEnc			\
+	theoraparse=TheoraParse			\
+	timeoverlay=TimeOverlay			\
+	typefind=TypeFindElement		\
+	uridecodebin=UriDecodeBin		\
+	videorate=VideoRate			\
+	videoscale=VideoScale			\
+	videotestsrc=VideoTestSrc		\
+	volume=Volume				\
+	vorbisdec=VorbisDec			\
+	vorbisenc=VorbisEnc			\
+	vorbisparse=VorbisParse			\
+	vorbistag=VorbisTag			\
+	ximagesink=XImageSink			\
+	xvimagesink=XvImageSink



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]