summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndoni Morales Alastruey <ylatuya@gmail.com>2010-02-13 12:35:50 +0100
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2010-02-14 10:26:09 +0100
commit7509d26528ef6103df6910c7197438235f361c28 (patch)
treed3df48d933d8e6eda06a6c3eecf63d5cf88e440f
parentf774273d46f389c12bbf7c638c84242cbf79388e (diff)
Add bindings for Windows specific plugins
-rw-r--r--gstreamer-sharp/Makefile.am2
-rw-r--r--gstreamer-sharp/badplugins/Makefile.am31
-rw-r--r--gstreamer-sharp/badplugins/inspect/dshowaudiosrc.raw142
-rw-r--r--gstreamer-sharp/badplugins/inspect/dshowvideosink.raw86
-rw-r--r--gstreamer-sharp/badplugins/inspect/dshowvideosrc.raw78
-rw-r--r--gstreamer-sharp/goodplugins/Makefile.am31
-rw-r--r--gstreamer-sharp/goodplugins/inspect/directdrawsink.raw81
7 files changed, 450 insertions, 1 deletions
diff --git a/gstreamer-sharp/Makefile.am b/gstreamer-sharp/Makefile.am
index 30ea4d5..4836ed5 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 0000000..915c3d1
--- /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 0000000..abc9bb2
--- /dev/null
+++ b/gstreamer-sharp/badplugins/inspect/dshowaudiosrc.raw
@@ -0,0 +1,142 @@
+<element>
+ <name>dshowaudiosrc</name>
+ <details>
+ <long-name>Directshow audio capture source</long-name>
+ <class>Source/Audio</class>
+ <description>Receive data from a directshow audio capture graph</description>
+ <authors>Sebastien Moutte &lt;sebastien@moutte.net&gt;</authors>
+ </details>
+ <object name="GstDshowAudioSrc">
+ <object name="GstAudioSrc">
+ <object name="GstBaseAudioSrc">
+ <object name="GstPushSrc">
+ <object name="GstBaseSrc">
+ <object name="GstElement">
+ <object name="GstObject">
+ <object name="GObject">
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ <interfaces>
+ <interface name="GstPropertyProbe" />
+ <interface name="GstImplementsInterface" />
+ <interface name="GstMixer" />
+ </interfaces>
+ <pad-templates>
+ <pad-template>
+ <name>src</name>
+ <direction>src</direction>
+ <presence>always</presence>
+ <caps>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 ]</caps>
+ </pad-template>
+ </pad-templates>
+ <element-flags>
+ </element-flags>
+ <element-implementation>
+ <state-change function="gst_dshowaudiosrc_change_state"/>
+ <save function="gst_element_save_thyself"/>
+ <load function="gst_element_restore_thyself"/>
+ </element-implementation>
+ <clocking-interaction>
+ </clocking-interaction>
+ <pads>
+ <pad>
+ <name>src</name>
+ <direction>src</direction>
+ <template>src</template>
+ <implementation>
+ <get-range-based function="gst_base_src_pad_get_range"/>
+ <event-function function="gst_base_src_event_handler"/>
+ <query-function function="gst_base_src_query"/>
+ <query-type-func function="gst_pad_get_query_types_default">
+ </query-type-func>
+ <intlink-function function="gst_pad_get_internal_links_default"/>
+ </implementation>
+ </pad>
+ </pads>
+ <element-properties>
+ <element-property>
+ <name>buffer-time</name>
+ <type>gint64</type>
+ <nick>Buffer Time</nick>
+ <blurb>Size of audio buffer in microseconds</blurb>
+ <flags>RW</flags>
+ <range min="1" max="9223372036854775807"/>
+ <default>200000</default>
+ </element-property>
+ <element-property>
+ <name>latency-time</name>
+ <type>gint64</type>
+ <nick>Latency Time</nick>
+ <blurb>Audio latency in microseconds</blurb>
+ <flags>RW</flags>
+ <range min="1" max="9223372036854775807"/>
+ <default>10000</default>
+ </element-property>
+ <element-property>
+ <name>actual-buffer-time</name>
+ <type>gint64</type>
+ <nick>Actual Buffer Time</nick>
+ <blurb>Actual configured size of audio buffer in microseconds</blurb>
+ <flags>R</flags>
+ <range min="-1" max="9223372036854775807"/>
+ <default>-1</default>
+ </element-property>
+ <element-property>
+ <name>actual-latency-time</name>
+ <type>gint64</type>
+ <nick>Actual Latency Time</nick>
+ <blurb>Actual configured audio latency in microseconds</blurb>
+ <flags>R</flags>
+ <range min="-1" max="9223372036854775807"/>
+ <default>-1</default>
+ </element-property>
+ <element-property>
+ <name>provide-clock</name>
+ <type>gboolean</type>
+ <nick>Provide Clock</nick>
+ <blurb>Provide a clock to be used as the global pipeline clock</blurb>
+ <flags>RW</flags>
+ <default>TRUE</default>
+ </element-property>
+ <element-property>
+ <name>slave-method</name>
+ <type>GstBaseAudioSrcSlaveMethod</type>
+ <nick>Slave Method</nick>
+ <blurb>Algorithm to use to match the rate of the masterclock</blurb>
+ <flags>RW</flags>
+ <default>2</default>
+ <enum-values>
+ <value value="0" nick="resample"/>
+ <value value="1" nick="re-timestamp"/>
+ <value value="2" nick="skew"/>
+ <value value="3" nick="none"/>
+ </enum-values>
+ </element-property>
+ <element-property>
+ <name>device</name>
+ <type>gchararray</type>
+ <nick>Device</nick>
+ <blurb>Directshow device reference (classID/name)</blurb>
+ <flags>RW</flags>
+ <default>NULL</default>
+ </element-property>
+ <element-property>
+ <name>device-name</name>
+ <type>gchararray</type>
+ <nick>Device name</nick>
+ <blurb>Human-readable name of the sound device</blurb>
+ <flags>RW</flags>
+ <default>NULL</default>
+ </element-property>
+ </element-properties>
+ <element-signals>
+ </element-signals>
+ <element-actions>
+ </element-actions>
+</element>
diff --git a/gstreamer-sharp/badplugins/inspect/dshowvideosink.raw b/gstreamer-sharp/badplugins/inspect/dshowvideosink.raw
new file mode 100644
index 0000000..d85fd80
--- /dev/null
+++ b/gstreamer-sharp/badplugins/inspect/dshowvideosink.raw
@@ -0,0 +1,86 @@
+<element>
+ <name>dshowvideosink</name>
+ <details>
+ <long-name>DirectShow video sink</long-name>
+ <class>Sink/Video</class>
+ <description>Display data using a DirectShow video renderer</description>
+ <authors>Pioneers of the Inevitable &lt;songbird@songbirdnest.com&gt;</authors>
+ </details>
+ <object name="GstDshowVideoSink">
+ <object name="GstBaseSink">
+ <object name="GstElement">
+ <object name="GstObject">
+ <object name="GObject">
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ <interfaces>
+ <interface name="GstImplementsInterface" />
+ <interface name="GstXOverlay" />
+ </interfaces>
+ <pad-templates>
+ <pad-template>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <caps>video/x-raw-yuv, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(fourcc){ YUY2, UYVY, YUVY, YV12 }</caps>
+ </pad-template>
+ </pad-templates>
+ <element-flags>
+ </element-flags>
+ <element-implementation>
+ <state-change function="gst_dshowvideosink_change_state"/>
+ <save function="gst_element_save_thyself"/>
+ <load function="gst_element_restore_thyself"/>
+ </element-implementation>
+ <clocking-interaction>
+ </clocking-interaction>
+ <pads>
+ <pad>
+ <name>sink</name>
+ <direction>sink</direction>
+ <template>sink</template>
+ <implementation>
+ <chain-based function="gst_base_sink_chain"/>
+ <event-function function="gst_base_sink_event"/>
+ <query-function function="gst_pad_query_default"/>
+ <query-type-func function="gst_pad_get_query_types_default">
+ </query-type-func>
+ <intlink-function function="gst_pad_get_internal_links_default"/>
+ <bufferalloc-function function="gst_base_sink_pad_buffer_alloc"/>
+ </implementation>
+ </pad>
+ </pads>
+ <element-properties>
+ <element-property>
+ <name>force-aspect-ratio</name>
+ <type>gboolean</type>
+ <nick>Force aspect ratio</nick>
+ <blurb>When enabled, scaling will respect original aspect ratio</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>fullscreen</name>
+ <type>gboolean</type>
+ <nick>Full screen mode</nick>
+ <blurb>Use full-screen mode (not available when using XOverlay)</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>renderer</name>
+ <type>gchararray</type>
+ <nick>Renderer</nick>
+ <blurb>Force usage of specific DirectShow renderer (VMR9 or VMR)</blurb>
+ <flags>RW</flags>
+ <default>NULL</default>
+ </element-property>
+ </element-properties>
+ <element-signals>
+ </element-signals>
+ <element-actions>
+ </element-actions>
+</element>
diff --git a/gstreamer-sharp/badplugins/inspect/dshowvideosrc.raw b/gstreamer-sharp/badplugins/inspect/dshowvideosrc.raw
new file mode 100644
index 0000000..6067056
--- /dev/null
+++ b/gstreamer-sharp/badplugins/inspect/dshowvideosrc.raw
@@ -0,0 +1,78 @@
+<element>
+ <name>dshowvideosrc</name>
+ <details>
+ <long-name>DirectShow video capture source</long-name>
+ <class>Source/Video</class>
+ <description>Receive data from a directshow video capture graph</description>
+ <authors>Sebastien Moutte &lt;sebastien@moutte.net&gt;</authors>
+ </details>
+ <object name="GstDshowVideoSrc">
+ <object name="GstPushSrc">
+ <object name="GstBaseSrc">
+ <object name="GstElement">
+ <object name="GstObject">
+ <object name="GObject">
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ <interfaces>
+ <interface name="GstPropertyProbe" />
+ </interfaces>
+ <pad-templates>
+ <pad-template>
+ <name>src</name>
+ <direction>src</direction>
+ <presence>always</presence>
+ <caps>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</caps>
+ </pad-template>
+ </pad-templates>
+ <element-flags>
+ </element-flags>
+ <element-implementation>
+ <state-change function="gst_dshowvideosrc_change_state"/>
+ <save function="gst_element_save_thyself"/>
+ <load function="gst_element_restore_thyself"/>
+ </element-implementation>
+ <clocking-interaction>
+ </clocking-interaction>
+ <pads>
+ <pad>
+ <name>src</name>
+ <direction>src</direction>
+ <template>src</template>
+ <implementation>
+ <get-range-based function="gst_base_src_pad_get_range"/>
+ <event-function function="gst_base_src_event_handler"/>
+ <query-function function="gst_base_src_query"/>
+ <query-type-func function="gst_pad_get_query_types_default">
+ </query-type-func>
+ <intlink-function function="gst_pad_get_internal_links_default"/>
+ </implementation>
+ </pad>
+ </pads>
+ <element-properties>
+ <element-property>
+ <name>device</name>
+ <type>gchararray</type>
+ <nick>Device</nick>
+ <blurb>Directshow device path (@..classID/name)</blurb>
+ <flags>RW</flags>
+ <default>NULL</default>
+ </element-property>
+ <element-property>
+ <name>device-name</name>
+ <type>gchararray</type>
+ <nick>Device name</nick>
+ <blurb>Human-readable name of the video device</blurb>
+ <flags>RW</flags>
+ <default>NULL</default>
+ </element-property>
+ </element-properties>
+ <element-signals>
+ </element-signals>
+ <element-actions>
+ </element-actions>
+</element>
diff --git a/gstreamer-sharp/goodplugins/Makefile.am b/gstreamer-sharp/goodplugins/Makefile.am
new file mode 100644
index 0000000..c998087
--- /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 0000000..5d66566
--- /dev/null
+++ b/gstreamer-sharp/goodplugins/inspect/directdrawsink.raw
@@ -0,0 +1,81 @@
+<element>
+ <name>directdrawsink</name>
+ <details>
+ <long-name>Direct Draw Video Sink</long-name>
+ <class>Sink/Video</class>
+ <description>Output to a video card via Direct Draw</description>
+ <authors>Sebastien Moutte &lt;sebastien@moutte.net&gt;</authors>
+ </details>
+ <object name="GstDirectDrawSink">
+ <object name="GstVideoSink">
+ <object name="GstBaseSink">
+ <object name="GstElement">
+ <object name="GstObject">
+ <object name="GObject">
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ <interfaces>
+ <interface name="GstImplementsInterface" />
+ <interface name="GstXOverlay" />
+ <interface name="GstNavigation" />
+ </interfaces>
+ <pad-templates>
+ <pad-template>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <caps>video/x-raw-rgb, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</caps>
+ </pad-template>
+ </pad-templates>
+ <element-flags>
+ </element-flags>
+ <element-implementation>
+ <state-change function="gst_directdraw_sink_change_state"/>
+ <save function="gst_element_save_thyself"/>
+ <load function="gst_element_restore_thyself"/>
+ </element-implementation>
+ <clocking-interaction>
+ </clocking-interaction>
+ <pads>
+ <pad>
+ <name>sink</name>
+ <direction>sink</direction>
+ <template>sink</template>
+ <implementation>
+ <chain-based function="gst_base_sink_chain"/>
+ <event-function function="gst_base_sink_event"/>
+ <query-function function="gst_pad_query_default"/>
+ <query-type-func function="gst_pad_get_query_types_default">
+ </query-type-func>
+ <intlink-function function="gst_pad_get_internal_links_default"/>
+ <bufferalloc-function function="gst_base_sink_pad_buffer_alloc"/>
+ </implementation>
+ </pad>
+ </pads>
+ <element-properties>
+ <element-property>
+ <name>show-preroll-frame</name>
+ <type>gboolean</type>
+ <nick>Show preroll frame</nick>
+ <blurb>Whether to render video frames during preroll</blurb>
+ <flags>RW</flags>
+ <default>TRUE</default>
+ </element-property>
+ <element-property>
+ <name>force-aspect-ratio</name>
+ <type>gboolean</type>
+ <nick>Force aspect ratio</nick>
+ <blurb>When enabled, scaling will respect original aspect ratio</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ </element-properties>
+ <element-signals>
+ </element-signals>
+ <element-actions>
+ </element-actions>
+</element>