$(GAPI_CODEGEN) --generate $(srcdir)/$(API) $(GLIB_SHARP_CFLAGS) \
--outdir=generated \
--glue-filename=$(GLUEDIR)/generated.c --gluelib-name=libgstreamersharpglue-1.0.0.dll \
- --glue-includes=gst/gst.h,`cd $(GST_INCLUDEDIR);find gst -type f -name "*.h" | tr "\n" ","` \
+ --glue-includes=gst/gst.h,`cd $(GST_INCLUDEDIR);find gst -type f -name "*.h" -not -path "gst/gl/*" | tr "\n" ","` \
--assembly-name=$(ASSEMBLY_NAME) && touch generated-stamp
$(DLL): $(build_sources) generated-stamp
- $(CSC) -nowarn:169 -unsafe -target:library $(GLIB_SHARP_LIBS) \
+ $(CSC) -nowarn:169 -nowarn:108 -nowarn:114 -unsafe -target:library $(GLIB_SHARP_LIBS) \
$(build_sources) generated/*/*.cs -out:$(DLL)
install-data-local:
--- /dev/null
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst {
+ using System;
+ using System.Collections;
+ using System.Runtime.InteropServices;
+
+ partial class Buffer {
+ [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern UIntPtr gst_buffer_extract(IntPtr raw, UIntPtr offset, byte[] dest, UIntPtr size);
+
+ public ulong Extract(ulong offset, ref byte[] dest) {
+ UIntPtr raw_ret = gst_buffer_extract(Handle, new UIntPtr (offset), dest, new UIntPtr ((ulong)dest.Length));
+ ulong ret = (ulong) raw_ret;
+ return ret;
+ }
+
+ [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_buffer_extract_dup(IntPtr raw, UIntPtr offset, UIntPtr size, out IntPtr dest, out UIntPtr dest_size);
+
+ public ulong ExtractDup(ulong offset, ulong size, out byte[] dest) {
+ UIntPtr native_dest_size;
+ IntPtr ptr;
+ gst_buffer_extract_dup(Handle, new UIntPtr (offset), new UIntPtr (size), out ptr, out native_dest_size);
+
+ byte[] bytes = new byte[(ulong)native_dest_size];
+ Marshal.Copy (ptr, bytes, 0, (int)native_dest_size);
+
+ dest = bytes;
+ GLib.Marshaller.Free (ptr);
+
+ return (ulong) native_dest_size;
+ }
+ }
+}
~Iterator () {
if (Raw != IntPtr.Zero)
- Free ();
+ Free (Handle);
}
}
libgstreamersharpglue_1_0_0_la_LIBADD = $(GST_LIBS)
+libgstreamersharpglue_1_0_0_la_CPPFLAGS = -DGST_USE_UNSTABLE_API
+
INCLUDES = $(GST_CFLAGS) -I$(top_srcdir)
libgstreamersharpglue.dll: $(libgstreamersharpglue_1_0_0_la_OBJECTS) libgstreamersharpglue.rc libgstreamersharpglue.def
</enum>
<enum name="DVBCodeRate" cname="GstMpegtsDVBCodeRate" type="enum">
<member cname="GST_MPEGTS_FEC_NONE" name="None" value="0"/>
- <member cname="GST_MPEGTS_FEC_1_2" name="12" value="1"/>
- <member cname="GST_MPEGTS_FEC_2_3" name="23" value="2"/>
- <member cname="GST_MPEGTS_FEC_3_4" name="34" value="3"/>
- <member cname="GST_MPEGTS_FEC_4_5" name="45" value="4"/>
- <member cname="GST_MPEGTS_FEC_5_6" name="56" value="5"/>
- <member cname="GST_MPEGTS_FEC_6_7" name="67" value="6"/>
- <member cname="GST_MPEGTS_FEC_7_8" name="78" value="7"/>
- <member cname="GST_MPEGTS_FEC_8_9" name="89" value="8"/>
+ <member cname="GST_MPEGTS_FEC_1_2" name="_112" value="1"/>
+ <member cname="GST_MPEGTS_FEC_2_3" name="_223" value="2"/>
+ <member cname="GST_MPEGTS_FEC_3_4" name="_334" value="3"/>
+ <member cname="GST_MPEGTS_FEC_4_5" name="_445" value="4"/>
+ <member cname="GST_MPEGTS_FEC_5_6" name="_556" value="5"/>
+ <member cname="GST_MPEGTS_FEC_6_7" name="_667" value="6"/>
+ <member cname="GST_MPEGTS_FEC_7_8" name="_778" value="7"/>
+ <member cname="GST_MPEGTS_FEC_8_9" name="_889" value="8"/>
<member cname="GST_MPEGTS_FEC_AUTO" name="Auto" value="9"/>
- <member cname="GST_MPEGTS_FEC_3_5" name="35" value="10"/>
- <member cname="GST_MPEGTS_FEC_9_10" name="910" value="11"/>
- <member cname="GST_MPEGTS_FEC_2_5" name="25" value="12"/>
+ <member cname="GST_MPEGTS_FEC_3_5" name="_335" value="10"/>
+ <member cname="GST_MPEGTS_FEC_9_10" name="_9910" value="11"/>
+ <member cname="GST_MPEGTS_FEC_2_5" name="_225" value="12"/>
</enum>
<enum name="DVBDescriptorType" cname="GstMpegtsDVBDescriptorType" type="enum">
<member cname="GST_MTS_DESC_DVB_NETWORK_NAME" name="NetworkName" value="64"/>
<member cname="GST_MPEGTS_POLARIZATION_CIRCULAR_RIGHT" name="CircularRight" value="3"/>
</enum>
<enum name="SatelliteRolloff" cname="GstMpegtsSatelliteRolloff" type="enum">
- <member cname="GST_MPEGTS_ROLLOFF_35" name="35" value="0"/>
- <member cname="GST_MPEGTS_ROLLOFF_20" name="20" value="1"/>
- <member cname="GST_MPEGTS_ROLLOFF_25" name="25" value="2"/>
+ <member cname="GST_MPEGTS_ROLLOFF_35" name="_35" value="0"/>
+ <member cname="GST_MPEGTS_ROLLOFF_20" name="_20" value="1"/>
+ <member cname="GST_MPEGTS_ROLLOFF_25" name="_25" value="2"/>
<member cname="GST_MPEGTS_ROLLOFF_RESERVED" name="Reserved" value="3"/>
<member cname="GST_MPEGTS_ROLLOFF_AUTO" name="Auto" value="4"/>
</enum>
<member cname="GST_MTS_TABLE_ID_CONDITIONAL_ACCESS" name="ConditionalAccess" value="1"/>
<member cname="GST_MTS_TABLE_ID_TS_PROGRAM_MAP" name="TsProgramMap" value="2"/>
<member cname="GST_MTS_TABLE_ID_TS_DESCRIPTION" name="TsDescription" value="3"/>
- <member cname="GST_MTS_TABLE_ID_14496_SCENE_DESCRIPTION" name="14496SceneDescription" value="4"/>
- <member cname="GST_MTS_TABLE_ID_14496_OBJET_DESCRIPTOR" name="14496ObjetDescriptor" value="5"/>
+ <member cname="GST_MTS_TABLE_ID_14496_SCENE_DESCRIPTION" name="_1449614496SceneDescription" value="4"/>
+ <member cname="GST_MTS_TABLE_ID_14496_OBJET_DESCRIPTOR" name="_1449614496ObjetDescriptor" value="5"/>
<member cname="GST_MTS_TABLE_ID_METADATA" name="Metadata" value="6"/>
<member cname="GST_MTS_TABLE_ID_IPMP_CONTROL_INFORMATION" name="IpmpControlInformation" value="7"/>
<member cname="GST_MTS_TABLE_ID_DSM_CC_MULTIPROTO_ENCAPSULATED_DATA" name="DsmCcMultiprotoEncapsulatedData" value="58"/>
<member cname="GST_MPEGTS_STREAM_TYPE_IPMP_STREAM" name="IpmpStream" value="127"/>
</enum>
<enum name="TerrestrialGuardInterval" cname="GstMpegtsTerrestrialGuardInterval" type="enum">
- <member cname="GST_MPEGTS_GUARD_INTERVAL_1_32" name="132" value="0"/>
- <member cname="GST_MPEGTS_GUARD_INTERVAL_1_16" name="116" value="1"/>
- <member cname="GST_MPEGTS_GUARD_INTERVAL_1_8" name="18" value="2"/>
- <member cname="GST_MPEGTS_GUARD_INTERVAL_1_4" name="14" value="3"/>
+ <member cname="GST_MPEGTS_GUARD_INTERVAL_1_32" name="_1132" value="0"/>
+ <member cname="GST_MPEGTS_GUARD_INTERVAL_1_16" name="_1116" value="1"/>
+ <member cname="GST_MPEGTS_GUARD_INTERVAL_1_8" name="_118" value="2"/>
+ <member cname="GST_MPEGTS_GUARD_INTERVAL_1_4" name="_114" value="3"/>
<member cname="GST_MPEGTS_GUARD_INTERVAL_AUTO" name="Auto" value="4"/>
- <member cname="GST_MPEGTS_GUARD_INTERVAL_1_128" name="1128" value="5"/>
- <member cname="GST_MPEGTS_GUARD_INTERVAL_19_128" name="19128" value="6"/>
- <member cname="GST_MPEGTS_GUARD_INTERVAL_19_256" name="19256" value="7"/>
+ <member cname="GST_MPEGTS_GUARD_INTERVAL_1_128" name="_11128" value="5"/>
+ <member cname="GST_MPEGTS_GUARD_INTERVAL_19_128" name="_1919128" value="6"/>
+ <member cname="GST_MPEGTS_GUARD_INTERVAL_19_256" name="_1919256" value="7"/>
<member cname="GST_MPEGTS_GUARD_INTERVAL_PN420" name="Pn420" value="8"/>
<member cname="GST_MPEGTS_GUARD_INTERVAL_PN595" name="Pn595" value="9"/>
<member cname="GST_MPEGTS_GUARD_INTERVAL_PN945" name="Pn945" value="10"/>
<member cname="GST_MPEGTS_HIERARCHY_NONE" name="None" value="0"/>
<member cname="GST_MPEGTS_HIERARCHY_1" name="GSTMPEGTSHIERARCHY1" value="1"/>
<member cname="GST_MPEGTS_HIERARCHY_2" name="GSTMPEGTSHIERARCHY2" value="2"/>
- <member cname="GST_MPEGTS_HIERARCHY_4" name="4" value="3"/>
+ <member cname="GST_MPEGTS_HIERARCHY_4" name="_4" value="3"/>
<member cname="GST_MPEGTS_HIERARCHY_AUTO" name="Auto" value="4"/>
</enum>
<enum name="TerrestrialTransmissionMode" cname="GstMpegtsTerrestrialTransmissionMode" type="enum">
- <member cname="GST_MPEGTS_TRANSMISSION_MODE_2K" name="2k" value="0"/>
- <member cname="GST_MPEGTS_TRANSMISSION_MODE_8K" name="8k" value="1"/>
+ <member cname="GST_MPEGTS_TRANSMISSION_MODE_2K" name="_2k" value="0"/>
+ <member cname="GST_MPEGTS_TRANSMISSION_MODE_8K" name="_8k" value="1"/>
<member cname="GST_MPEGTS_TRANSMISSION_MODE_AUTO" name="Auto" value="2"/>
- <member cname="GST_MPEGTS_TRANSMISSION_MODE_4K" name="4k" value="3"/>
- <member cname="GST_MPEGTS_TRANSMISSION_MODE_1K" name="1k" value="4"/>
- <member cname="GST_MPEGTS_TRANSMISSION_MODE_16K" name="16k" value="5"/>
- <member cname="GST_MPEGTS_TRANSMISSION_MODE_32K" name="32k" value="6"/>
+ <member cname="GST_MPEGTS_TRANSMISSION_MODE_4K" name="_4k" value="3"/>
+ <member cname="GST_MPEGTS_TRANSMISSION_MODE_1K" name="_1k" value="4"/>
+ <member cname="GST_MPEGTS_TRANSMISSION_MODE_16K" name="_16k" value="5"/>
+ <member cname="GST_MPEGTS_TRANSMISSION_MODE_32K" name="_32k" value="6"/>
<member cname="GST_MPEGTS_TRANSMISSION_MODE_C1" name="C1" value="7"/>
<member cname="GST_MPEGTS_TRANSMISSION_MODE_C3780" name="C3780" value="8"/>
</enum>
<field cname="symbol_rate" access="public" writeable="true" readable="true" name="SymbolRate" type="guint32"/>
<field cname="fec_inner" access="public" writeable="true" readable="true" name="FecInner" type="GstMpegtsDVBCodeRate"/>
</struct>
- <boxed name="Section" cname="GstMpegtsSection" opaque="false" hidden="false">
+ <boxed name="Section" cname="GstMpegtsSection" opaque="true" hidden="false">
<method name="GetType" cname="gst_mpegts_section_get_type" shared="true">
<return-type type="GType"/>
</method>
</enum>
<enum name="RTPPayload" cname="GstRTPPayload" type="enum">
<member cname="GST_RTP_PAYLOAD_PCMU" name="Pcmu" value="0"/>
- <member cname="GST_RTP_PAYLOAD_1016" name="1016" value="1"/>
+ <member cname="GST_RTP_PAYLOAD_1016" name="_1016" value="1"/>
<member cname="GST_RTP_PAYLOAD_G721" name="G721" value="2"/>
<member cname="GST_RTP_PAYLOAD_GSM" name="Gsm" value="3"/>
<member cname="GST_RTP_PAYLOAD_G723" name="G723" value="4"/>
</enum>
<enum name="RTSPVersion" cname="GstRTSPVersion" type="enum" gtype="gst_rtsp_version_get_type">
<member cname="GST_RTSP_VERSION_INVALID" name="Invalid" value="0"/>
- <member cname="GST_RTSP_VERSION_1_0" name="10" value="16"/>
- <member cname="GST_RTSP_VERSION_1_1" name="11" value="17"/>
+ <member cname="GST_RTSP_VERSION_1_0" name="_110" value="16"/>
+ <member cname="GST_RTSP_VERSION_1_1" name="_111" value="17"/>
</enum>
<enum name="RTSPEvent" cname="GstRTSPEvent" type="flags" gtype="gst_rtsp_event_get_type">
<member cname="GST_RTSP_EV_READ" name="Read" value="1"/>
</enum>
<enum name="VideoColorRange" cname="GstVideoColorRange" type="enum" gtype="gst_video_color_range_get_type">
<member cname="GST_VIDEO_COLOR_RANGE_UNKNOWN" name="Unknown" value="0"/>
- <member cname="GST_VIDEO_COLOR_RANGE_0_255" name="0255" value="1"/>
- <member cname="GST_VIDEO_COLOR_RANGE_16_235" name="16235" value="2"/>
+ <member cname="GST_VIDEO_COLOR_RANGE_0_255" name="_00255" value="1"/>
+ <member cname="GST_VIDEO_COLOR_RANGE_16_235" name="_1616235" value="2"/>
</enum>
<enum name="VideoFormat" cname="GstVideoFormat" type="enum" gtype="gst_video_format_get_type">
<member cname="GST_VIDEO_FORMAT_UNKNOWN" name="Unknown" value="0"/>
<parameters/>
</method>
</struct>
- <struct name="VideoGLTextureUploadMeta" cname="GstVideoGLTextureUploadMeta" opaque="false" hidden="false">
+ <struct name="VideoGLTextureUploadMeta" cname="GstVideoGLTextureUploadMeta" opaque="true" hidden="false">
<field cname="meta" access="public" writeable="true" readable="true" name="Meta" type="GstMeta">
<warning>missing glib:type-name</warning>
</field>
<attr path="/api/namespace/object[@cname='GstElement']/field[@cname='object']" name="hidden">true</attr>
<attr path="/api/namespace/object[@cname='GstBin']/field[@cname='element']" name="hidden">true</attr>
<attr path="/api/namespace/object[@cname='GstPipeline']/field[@cname='bin']" name="hidden">true</attr>
- <!-- add native attribute to all structs which need special handling -->
- <change-node-type path="/api/namespace//boxed[field/@cname='mini_object']">struct</change-node-type>
- <attr path="/api/namespace//struct[field/@cname='mini_object']" name="native">true</attr>
+ <!-- add opaque attribute to all structs which need special handling -->
+ <change-node-type path="/api//namespace//boxed[field/@cname='mini_object']">struct</change-node-type>
+ <attr path="/api/namespace//struct[field/@cname='mini_object']" name="opaque">true</attr>
<change-node-type path="/api/namespace//boxed[@cname='GstStructure']">struct</change-node-type>
- <attr path="/api/namespace/struct[@cname='GstStructure']" name="native">true</attr>
- <attr path="/api/namespace/struct[@cname='GstRTSPMessage']" name="native">true</attr>
+ <attr path="/api/namespace/struct[@cname='GstStructure']" name="opaque">true</attr>
+ <attr path="/api/namespace/struct[@cname='GstRTSPMessage']" name="opaque">true</attr>
<change-node-type path="/api/namespace//boxed[@cname='GstIterator']">struct</change-node-type>
- <attr path="/api/namespace/struct[@cname='GstIterator']" name="native">true</attr>
+ <attr path="/api/namespace/struct[@cname='GstIterator']" name="opaque">true</attr>
<attr path="/api/namespace/struct[@cname='GstIterator']/method[@cname='gst_iterator_next']" name="hidden">true</attr>
<remove-node path="/api/namespace/boxed[@cname='GstStructure']/field[@cname='name']" />
<!-- Fix for GstChildProxy -->
<!-- FIXME: array handling -->
<attr path="/api/namespace/struct[@cname='GstRTCPPacket']/method[@cname='gst_rtcp_packet_sdes_copy_entry']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstRTCPPacket']/method[@cname='gst_rtcp_packet_sdes_get_entry']" name="hidden">true</attr>
- <attr path="/api/namespace/struct[@cname='GstRTCPPacket']/method[@cname='gst_rtcp_packet_sdes_extension_data']" name="hidden">true</attr>
- <attr path="/api/namespace/struct[@cname='GstRTPBuffer']/method[@cname='gst_rtp_buffer_get_extension_data']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstRTPBuffer']/method[@cname='gst_rtp_buffer_get_extension_onebyte_header']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstRTPBuffer']/method[@cname='gst_rtp_buffer_get_extension_twobytes_header']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstRTSPMessage']/method[@cname='gst_rtsp_message_get_body']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstRTSPMessage']/method[@cname='gst_rtsp_message_steal_body']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstFFTF32']/method[@cname='gst_fft_f32_fft']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstFFTF32']/method[@cname='gst_fft_f32_window']" name="hidden">true</attr>
+ <attr path="//virtual_method[@cname='get_g_value_array']" name="hidden">true</attr>
<!-- Maybe some problems with the name -->
<remove-node path="/api/namespace/interface[@cname='GstURIHandler']/class_struct/method[@vm='get_type']" name="vm" />
<remove-node path="/api/namespace/interface[@cname='GstURIHandler']/virtual_method[@cname='get_type']" name="hidden" />
<attr path="/api/namespace/struct[@cname='GstClockEntry']/field[@cname='destroy_data']" name="hidden">true</attr>
<attr path="/api/namespace/object[@cname='GstTask']/field[@cname='notify']" name="hidden">true</attr>
- <!-- These classes are not abstract but should not be instantiable from managed. FIXME: bug in gir metadata? -->
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstAllocator']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstAllocator']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstClock']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstClock']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstControlBinding']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstControlBinding']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstControlSource']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstControlSource']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstElement']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstElement']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstObject']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstObject']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstPluginFeature']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstPluginFeature']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstBaseParse']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstBaseParse']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstBaseSink']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstBaseSink']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstBaseSrc']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstBaseSrc']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstBaseTransform']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstBaseTransform']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstTagDemux']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstTagDemux']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstTagMux']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstTagMux']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstVideoDecoder']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstVideoDecoder']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstVideoEncoder']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstVideoEncoder']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstVideoFilter']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstVideoFilter']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstAudioDecoder']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstAudioDecoder']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstAudioEncoder']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstAudioEncoder']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstAudioFilter']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstAudioFilter']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstAudioRingBuffer']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstAudioRingBuffer']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstTimedValueControlSource']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstTimedValueControlSource']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstRTPBaseDepayload']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstRTPBaseDepayload']">protected</attr>
- <remove-attr name="abstract" path="/api/namespace/object[@cname='GstRTPBasePayload']"/>
- <attr name="defaultconstructoraccess" path="/api/namespace/object[@cname='GstRTPBasePayload']">protected</attr>
-
<!-- Add miniobject methods to all miniobject types -->
<copy-node path="/api/namespace/struct[@cname='GstMiniObject']//method">/api/namespace//boxed[field/@cname='mini_object']</copy-node>
<attr path="/api/namespace/struct[@cname='GstMiniObject']//method" name="hidden">true</attr>
<attr path="/api/namespace/boxed[@cname='GstVideoCodecState']/field[@cname='padding']" name="type">gpointer</attr>
<attr path="/api/namespace/object[@cname='GstVideoDecoder']/field[@cname='padding']" name="type">gpointer</attr>
<attr path="/api/namespace/object[@cname='GstVideoDecoder']/class_struct/field[@cname='padding']" name="type">gpointer</attr>
- <attr path="/api/namespace/enum[@cname='GstVideoColorRange']/member[@name='0255']" name="name">EightBit</attr>
- <attr path="/api/namespace/enum[@cname='GstVideoColorRange']/member[@name='16235']" name="name">SixteenBit</attr>
- <attr path="/api/namespace/object[@cname='GstAdapter']/method[@cname='gst_adapter_copy']" name="hidden">1</attr>
<attr path="/api/namespace/struct[@cname='GstByteReader']" name="opaque">1</attr>
<remove-node path="/api/namespace//struct[@cname='GstByteReader']//method" />
+ <attr path="//struct[@name='VideoGLTextureUploadMeta']//field[@cname='user_data_copy' or @cname='user_data_free']" name="hidden">true</attr>
<!-- FIXME: remove when https://bugzilla.gnome.org/show_bug.cgi?id=709938 is fixed -->
<attr path="/api/namespace/interface[@cname='GstNavigation']/method[@cname='gst_navigation_query_parse_commands_length']/parameters/parameter[@name='n_cmds']" name="pass_as">out</attr>
<!-- Name clashes -->
<attr path="/api/namespace/struct[@cname='GstRTCPBuffer']/field[@cname='map']" name="name">MapInfo</attr>
<attr path="/api/namespace/struct[@cname='GstRTPBuffer']/field[@cname='map']" name="name">MapInfo</attr>
- <!-- Enums starting with numbers -->
- <attr path="/api/namespace/enum[@cname='GstRTPPayload']/member[@name='1016']" name="name">ThousandSixteen</attr>
- <attr path="/api/namespace/enum[@cname='GstRTSPVersion']/member[@name='10']" name="name">Ten</attr>
- <attr path="/api/namespace/enum[@cname='GstRTSPVersion']/member[@name='11']" name="name">Eleven</attr>
<!-- Namespace switches -->
<attr path="/api/namespace[@name='GstVideo']" name="name">Gst.Video</attr>
<attr path="/api/namespace[@name='GstAudio']" name="name">Gst.Audio</attr>
<attr path="/api/namespace[@name='GstRtsp']" name="name">Gst.Rtsp</attr>
<attr path="/api/namespace[@name='GstSdp']" name="name">Gst.Sdp</attr>
- <!-- FIXME: Remove when https://bugzilla.gnome.org/show_bug.cgi?id=710001 is fixed -->
<attr path="/api/namespace" name="library">libgstreamer-1.0-0.dll</attr>
<attr path="/api/namespace[@name='Gst.Base']" name="library">libgstbase-1.0-0.dll</attr>
<attr path="/api/namespace[@name='Gst.Audio']" name="library">libgstaudio-1.0-0.dll</attr>
<attr path="/api/namespace[@name='Gst.Rtsp']" name="library">libgstrtsp-1.0-0.dll</attr>
<attr path="/api/namespace[@name='Gst.Sdp']" name="library">libgstsdp-1.0-0.dll</attr>
+ <!-- DoubleRange and Fraction are in Value.cs -->
+ <attr path="//struct[@name='DoubleRange' or @name='Fraction' or @name='IntRange' or @name='FractionRange']" name="hidden">true</attr>
+
<!-- AppSink fixes -->
<attr path="/api/namespace/object[@cname='GstAppSink']/signal[@cname='pull-sample']" name="hidden">true</attr>
<attr path="/api/namespace/object[@cname='GstAppSink']/signal[@cname='pull-preroll']" name="hidden">true</attr>
- <add-node path="/api/namespace/object[@cname='GstAppSink']">
- <method name="PullPreroll" cname="gst_app_sink_pull_preroll">
- <return-type type="GstSample*" owned="true" />
- <parameters/>
- </method>
- <method name="PullSample" cname="gst_app_sink_pull_sample">
- <return-type type="GstSample*" owned="true" />
- <parameters/>
- </method>
- </add-node>
+
+ <!-- MessageType should be uint -->
+ <attr path="//enum[@name='MessageType']/member[@cname='GST_MESSAGE_UNKNOWN']" name="value">0U</attr>
+ <!-- Extract is manually bound -->
+ <attr path="//method[@cname='gst_buffer_extract']" name="hidden">true</attr>
+ <attr path="//method[@cname='gst_buffer_extract_dup']" name="hidden">true</attr>
+
+ <!-- Introspection fails -->
+ <attr path="//object[@cname='GstBufferPool']/field[@cname='flushing']" name="type">gboolean</attr>
+ <remove-attr path="//boxed[@cname='GstMpegtsSection']//method//return-type[@type='GPtrArray']" name="array"/>
+ <remove-attr path="//boxed[@cname='GstMpegtsSection']//method//return-type[@type='GPtrArray']" name="null_term_array"/>
+ <remove-attr path="//object[@cname='GstMpegtsGlobal']//method//return-type[@type='GPtrArray']" name="array"/>
+ <remove-attr path="//object[@cname='GstMpegtsGlobal']//method//return-type[@type='GPtrArray']" name="null_term_array"/>
+ <remove-attr path="//boxed[@cname='GstMpegtsDescriptor']//method//parameter[@type='GPtrArray***']" name="array"/>
+ <remove-attr path="//boxed[@cname='GstMpegtsDescriptor']//method//parameter[@type='GPtrArray***']" name="null_term_array"/>
+
+ <!-- No way to correctly generate these without the element type -->
+ <attr path="//boxed[@cname='GstMpegtsDescriptor']//method[parameters/parameter[@type='GArray***']]" name="hidden">true</attr>
</metadata>