From 7509d26528ef6103df6910c7197438235f361c28 Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Sat, 13 Feb 2010 12:35:50 +0100 Subject: [PATCH] Add bindings for Windows specific plugins --- gstreamer-sharp/Makefile.am | 2 +- gstreamer-sharp/badplugins/Makefile.am | 31 ++++ .../badplugins/inspect/dshowaudiosrc.raw | 142 ++++++++++++++++++ .../badplugins/inspect/dshowvideosink.raw | 86 +++++++++++ .../badplugins/inspect/dshowvideosrc.raw | 78 ++++++++++ gstreamer-sharp/goodplugins/Makefile.am | 31 ++++ .../goodplugins/inspect/directdrawsink.raw | 81 ++++++++++ 7 files changed, 450 insertions(+), 1 deletion(-) create mode 100644 gstreamer-sharp/badplugins/Makefile.am create mode 100644 gstreamer-sharp/badplugins/inspect/dshowaudiosrc.raw create mode 100644 gstreamer-sharp/badplugins/inspect/dshowvideosink.raw create mode 100644 gstreamer-sharp/badplugins/inspect/dshowvideosrc.raw create mode 100644 gstreamer-sharp/goodplugins/Makefile.am create mode 100644 gstreamer-sharp/goodplugins/inspect/directdrawsink.raw diff --git a/gstreamer-sharp/Makefile.am b/gstreamer-sharp/Makefile.am index 30ea4d5851..4836ed543c 100644 --- a/gstreamer-sharp/Makefile.am +++ b/gstreamer-sharp/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = . glue coreplugins baseplugins +SUBDIRS = . glue coreplugins baseplugins goodplugins badplugins TARGET = $(ASSEMBLY) noinst_DATA = $(TARGET) diff --git a/gstreamer-sharp/badplugins/Makefile.am b/gstreamer-sharp/badplugins/Makefile.am new file mode 100644 index 0000000000..915c3d185e --- /dev/null +++ b/gstreamer-sharp/badplugins/Makefile.am @@ -0,0 +1,31 @@ +ELEMENTS = dshowvideosink dshowvideosrc dshowaudiosrc + +NAMESPACE = Gst.BadPlugins +INSPECT_FILES = $(patsubst %,$(srcdir)/inspect/%.raw,$(ELEMENTS)) +METADATA_FILES = $(srcdir)/decodebin2.metadata $(srcdir)/playbin2.metadata +CS_FILES = $(patsubst %,$(builddir)/generated/%.cs,$(ELEMENTS)) +XML_FILES = $(patsubst %,$(builddir)/%.xml,$(ELEMENTS)) + +EXTRA_DIST = $(METADATA_FILES) $(INSPECT_FILES) +CLEANFILES = $(XML_FILES) $(CS_FILES) +MAINTAINERCLEANFILES = Makefile.in + +plugins-update: $(patsubst $(srcdir)/inspect/%.raw, inspect-%, $(INSPECT_FILES)) +inspect-%: + $(top_builddir)/elementgen/gsts-xmlinspect $(patsubst inspect-%,%,$@) > inspect/$(patsubst inspect-%,%,$@).raw + +all: $(XML_FILES) $(CS_FILES) + touch generated + +generated/%.cs: $(top_builddir)/elementgen/element-gen.exe $(top_builddir)/gstreamer-sharp/gstreamer-api.xml $(builddir)/%.xml + @mkdir -p generated + $(MONO) $(top_builddir)/elementgen/element-gen.exe --namespace=$(NAMESPACE) \ + --api=$(top_builddir)/gstreamer-sharp/gstreamer-api.xml --input=$(patsubst generated/%.cs,$(builddir)/%.xml,$@) --customfile=$(patsubst generated/%.cs,$(srcdir)/%.custom,$@) --interfacesdir=$(top_srcdir)/elementgen/interfaces > $@ + +%.xml: $(top_builddir)/parser/gst-gapi-fixup.exe $(srcdir)/inspect/%.raw $(srcdir)/%.metadata + cp $(patsubst %.xml,$(srcdir)/inspect/%.raw,$@) $(builddir)/$@ + chmod +w $(builddir)/$@ + $(MONO) $(top_builddir)/parser/gst-gapi-fixup.exe --api=$(builddir)/$@ --metadata=$(patsubst %.xml,$(srcdir)/%.metadata,$@) + +%.xml: $(top_builddir)/parser/gst-gapi-fixup.exe $(srcdir)/inspect/%.raw + cp $(patsubst %.xml,$(srcdir)/inspect/%.raw,$@) $(builddir)/$@ diff --git a/gstreamer-sharp/badplugins/inspect/dshowaudiosrc.raw b/gstreamer-sharp/badplugins/inspect/dshowaudiosrc.raw new file mode 100644 index 0000000000..abc9bb2931 --- /dev/null +++ b/gstreamer-sharp/badplugins/inspect/dshowaudiosrc.raw @@ -0,0 +1,142 @@ + + dshowaudiosrc +
+ Directshow audio capture source + Source/Audio + Receive data from a directshow audio capture graph + Sebastien Moutte <sebastien@moutte.net> +
+ + + + + + + + + + + + + + + + + + + + + + + + src + src + always + audio/x-raw-int, endianness=(int){ 1234 }, signed=(boolean){ true, false }, width=(int)16, depth=(int)16, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ]; audio/x-raw-int, signed=(boolean){ true, false }, width=(int)8, depth=(int)8, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ] + + + + + + + + + + + + + + src + src + + + + + + + + + + + + + + buffer-time + gint64 + Buffer Time + Size of audio buffer in microseconds + RW + + 200000 + + + latency-time + gint64 + Latency Time + Audio latency in microseconds + RW + + 10000 + + + actual-buffer-time + gint64 + Actual Buffer Time + Actual configured size of audio buffer in microseconds + R + + -1 + + + actual-latency-time + gint64 + Actual Latency Time + Actual configured audio latency in microseconds + R + + -1 + + + provide-clock + gboolean + Provide Clock + Provide a clock to be used as the global pipeline clock + RW + TRUE + + + slave-method + GstBaseAudioSrcSlaveMethod + Slave Method + Algorithm to use to match the rate of the masterclock + RW + 2 + + + + + + + + + device + gchararray + Device + Directshow device reference (classID/name) + RW + NULL + + + device-name + gchararray + Device name + Human-readable name of the sound device + RW + NULL + + + + + + +
diff --git a/gstreamer-sharp/badplugins/inspect/dshowvideosink.raw b/gstreamer-sharp/badplugins/inspect/dshowvideosink.raw new file mode 100644 index 0000000000..d85fd807e9 --- /dev/null +++ b/gstreamer-sharp/badplugins/inspect/dshowvideosink.raw @@ -0,0 +1,86 @@ + + dshowvideosink +
+ DirectShow video sink + Sink/Video + Display data using a DirectShow video renderer + Pioneers of the Inevitable <songbird@songbirdnest.com> +
+ + + + + + + + + + + + + + + + + sink + sink + always + video/x-raw-yuv, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(fourcc){ YUY2, UYVY, YUVY, YV12 } + + + + + + + + + + + + + + sink + sink + + + + + + + + + + + + + + + force-aspect-ratio + gboolean + Force aspect ratio + When enabled, scaling will respect original aspect ratio + RW + FALSE + + + fullscreen + gboolean + Full screen mode + Use full-screen mode (not available when using XOverlay) + RW + FALSE + + + renderer + gchararray + Renderer + Force usage of specific DirectShow renderer (VMR9 or VMR) + RW + NULL + + + + + + +
diff --git a/gstreamer-sharp/badplugins/inspect/dshowvideosrc.raw b/gstreamer-sharp/badplugins/inspect/dshowvideosrc.raw new file mode 100644 index 0000000000..6067056e81 --- /dev/null +++ b/gstreamer-sharp/badplugins/inspect/dshowvideosrc.raw @@ -0,0 +1,78 @@ + + dshowvideosrc +
+ DirectShow video capture source + Source/Video + Receive data from a directshow video capture graph + Sebastien Moutte <sebastien@moutte.net> +
+ + + + + + + + + + + + + + + + + + src + src + always + video/x-raw-rgb, bpp=(int)24, depth=(int)24, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(fourcc)I420; video/x-raw-yuv, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(fourcc)UYVY; video/x-raw-yuv, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(fourcc)YUY2; video/x-dv, systemstream=(boolean)false, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(fourcc)dvsd; video/x-dv, systemstream=(boolean)true + + + + + + + + + + + + + + src + src + + + + + + + + + + + + + + device + gchararray + Device + Directshow device path (@..classID/name) + RW + NULL + + + device-name + gchararray + Device name + Human-readable name of the video device + RW + NULL + + + + + + +
diff --git a/gstreamer-sharp/goodplugins/Makefile.am b/gstreamer-sharp/goodplugins/Makefile.am new file mode 100644 index 0000000000..c998087213 --- /dev/null +++ b/gstreamer-sharp/goodplugins/Makefile.am @@ -0,0 +1,31 @@ +ELEMENTS = directdrawsink + +NAMESPACE = Gst.GoodPlugins +INSPECT_FILES = $(patsubst %,$(srcdir)/inspect/%.raw,$(ELEMENTS)) +METADATA_FILES = $(srcdir)/decodebin2.metadata $(srcdir)/playbin2.metadata +CS_FILES = $(patsubst %,$(builddir)/generated/%.cs,$(ELEMENTS)) +XML_FILES = $(patsubst %,$(builddir)/%.xml,$(ELEMENTS)) + +EXTRA_DIST = $(METADATA_FILES) $(INSPECT_FILES) +CLEANFILES = $(XML_FILES) $(CS_FILES) +MAINTAINERCLEANFILES = Makefile.in + +plugins-update: $(patsubst $(srcdir)/inspect/%.raw, inspect-%, $(INSPECT_FILES)) +inspect-%: + $(top_builddir)/elementgen/gsts-xmlinspect $(patsubst inspect-%,%,$@) > inspect/$(patsubst inspect-%,%,$@).raw + +all: $(XML_FILES) $(CS_FILES) + touch generated + +generated/%.cs: $(top_builddir)/elementgen/element-gen.exe $(top_builddir)/gstreamer-sharp/gstreamer-api.xml $(builddir)/%.xml + @mkdir -p generated + $(MONO) $(top_builddir)/elementgen/element-gen.exe --namespace=$(NAMESPACE) \ + --api=$(top_builddir)/gstreamer-sharp/gstreamer-api.xml --input=$(patsubst generated/%.cs,$(builddir)/%.xml,$@) --customfile=$(patsubst generated/%.cs,$(srcdir)/%.custom,$@) --interfacesdir=$(top_srcdir)/elementgen/interfaces > $@ + +%.xml: $(top_builddir)/parser/gst-gapi-fixup.exe $(srcdir)/inspect/%.raw $(srcdir)/%.metadata + cp $(patsubst %.xml,$(srcdir)/inspect/%.raw,$@) $(builddir)/$@ + chmod +w $(builddir)/$@ + $(MONO) $(top_builddir)/parser/gst-gapi-fixup.exe --api=$(builddir)/$@ --metadata=$(patsubst %.xml,$(srcdir)/%.metadata,$@) + +%.xml: $(top_builddir)/parser/gst-gapi-fixup.exe $(srcdir)/inspect/%.raw + cp $(patsubst %.xml,$(srcdir)/inspect/%.raw,$@) $(builddir)/$@ diff --git a/gstreamer-sharp/goodplugins/inspect/directdrawsink.raw b/gstreamer-sharp/goodplugins/inspect/directdrawsink.raw new file mode 100644 index 0000000000..5d6656626d --- /dev/null +++ b/gstreamer-sharp/goodplugins/inspect/directdrawsink.raw @@ -0,0 +1,81 @@ + + directdrawsink +
+ Direct Draw Video Sink + Sink/Video + Output to a video card via Direct Draw + Sebastien Moutte <sebastien@moutte.net> +
+ + + + + + + + + + + + + + + + + + + + sink + sink + always + video/x-raw-rgb, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ] + + + + + + + + + + + + + + sink + sink + + + + + + + + + + + + + + + show-preroll-frame + gboolean + Show preroll frame + Whether to render video frames during preroll + RW + TRUE + + + force-aspect-ratio + gboolean + Force aspect ratio + When enabled, scaling will respect original aspect ratio + RW + FALSE + + + + + + +