mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-23 06:26:23 +00:00
Add bindings for Windows specific plugins
This commit is contained in:
parent
f774273d46
commit
7509d26528
7 changed files with 450 additions and 1 deletions
|
@ -1,4 +1,4 @@
|
||||||
SUBDIRS = . glue coreplugins baseplugins
|
SUBDIRS = . glue coreplugins baseplugins goodplugins badplugins
|
||||||
|
|
||||||
TARGET = $(ASSEMBLY)
|
TARGET = $(ASSEMBLY)
|
||||||
noinst_DATA = $(TARGET)
|
noinst_DATA = $(TARGET)
|
||||||
|
|
31
gstreamer-sharp/badplugins/Makefile.am
Normal file
31
gstreamer-sharp/badplugins/Makefile.am
Normal file
|
@ -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)/$@
|
142
gstreamer-sharp/badplugins/inspect/dshowaudiosrc.raw
Normal file
142
gstreamer-sharp/badplugins/inspect/dshowaudiosrc.raw
Normal file
|
@ -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 <sebastien@moutte.net></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>
|
86
gstreamer-sharp/badplugins/inspect/dshowvideosink.raw
Normal file
86
gstreamer-sharp/badplugins/inspect/dshowvideosink.raw
Normal file
|
@ -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 <songbird@songbirdnest.com></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>
|
78
gstreamer-sharp/badplugins/inspect/dshowvideosrc.raw
Normal file
78
gstreamer-sharp/badplugins/inspect/dshowvideosrc.raw
Normal file
|
@ -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 <sebastien@moutte.net></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>
|
31
gstreamer-sharp/goodplugins/Makefile.am
Normal file
31
gstreamer-sharp/goodplugins/Makefile.am
Normal file
|
@ -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)/$@
|
81
gstreamer-sharp/goodplugins/inspect/directdrawsink.raw
Normal file
81
gstreamer-sharp/goodplugins/inspect/directdrawsink.raw
Normal file
|
@ -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 <sebastien@moutte.net></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>
|
Loading…
Reference in a new issue