[gstreamermm] Move plugin definition map into src/filelist.am
- From: Daniel Elstner <daniel src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gstreamermm] Move plugin definition map into src/filelist.am
- Date: Tue, 29 Sep 2009 19:47:31 +0000 (UTC)
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]