Various fixes

This commit is contained in:
Stephan Sundermann 2014-07-22 00:36:22 +02:00
parent 2154455db8
commit e53f0d0eed
7 changed files with 108 additions and 146 deletions

3
.gitignore vendored
View file

@ -15,6 +15,9 @@ ltmain.sh
missing
stamp-h
# gedit temporary files
*.*~
# glue binaries/objects (FIXME: kill the glue, kthxbye)
sources/glue/.deps/
sources/glue/*.o

View file

@ -7,4 +7,4 @@ EXTRA_DIST = gstreamer-sharp-1.0.pc.in out/gstreamer-sharp.dll.config
DISTCLEANFILES = gstreamer-sharp-1.0.pc
regenerate:
bindinate --name=gstreamer --regenerate=true --merge-with=GstApp-1.0,GstAudio-1.0,GstBase-1.0,GstController-1.0,GstFft-1.0,GstInsertBin-1.0,GstMpegts-1.0,GstNet-1.0,GstPbutils-1.0,GstRiff-1.0,GstRtp-1.0,GstRtsp-1.0,GstSdp-1.0,GstTag-1.0,GstVideo-1.0 --gir=Gst-1.0
bindinate --name=gstreamer --regenerate=true --merge-with=GstApp-1.0,GstAudio-1.0,GstBase-1.0,GstController-1.0,GstFft-1.0,GstMpegts-1.0,GstNet-1.0,GstPbutils-1.0,GstRiff-1.0,GstRtp-1.0,GstRtsp-1.0,GstSdp-1.0,GstTag-1.0,GstVideo-1.0 --gir=Gst-1.0

View file

@ -0,0 +1,4 @@
<?xml version="1.0"?>
<metadata>
<remove-attr path="//*[local-name()='method' and @name='ref']" name="introspectable"/>
</metadata>

View file

@ -0,0 +1,45 @@
// 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.Runtime.InteropServices;
partial class MiniObject
{
protected MiniObject () {}
[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
static extern bool gst_mini_object_replace(IntPtr olddata, IntPtr newdata);
public static bool Replace(ref Gst.MiniObject olddata, Gst.MiniObject newdata) {
return gst_mini_object_replace(olddata.Handle, newdata == null ? IntPtr.Zero : newdata.Handle);
}
public static bool Replace(ref Gst.MiniObject olddata) {
return Replace (ref olddata, null);
}
[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
static extern bool gst_mini_object_take(IntPtr olddata, IntPtr newdata);
public static bool Take(ref Gst.MiniObject olddata, Gst.MiniObject newdata) {
return gst_mini_object_take(olddata.Handle, newdata == null ? IntPtr.Zero : newdata.Handle);
}
}
}

View file

@ -0,0 +1,29 @@
// 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.Video {
using System;
using System.Runtime.InteropServices;
partial struct VideoGLTextureUploadMeta
{
public bool Equals (VideoGLTextureUploadMeta other)
{
return Meta.Equals (other.Meta) && TextureOrientation.Equals (other.TextureOrientation) && NTextures.Equals (other.NTextures) && TextureType.Equals (other.TextureType);
}
}
}

View file

@ -7602,6 +7602,12 @@
<parameter name="flags" type="GstLockFlags"/>
</parameters>
</method>
<method name="Ref" cname="gst_mini_object_ref">
<return-type type="GstMiniObject*" owned="true">
<warning>missing glib:type-name</warning>
</return-type>
<parameters/>
</method>
<method name="SetQdata" cname="gst_mini_object_set_qdata">
<return-type type="void"/>
<parameters>
@ -10931,8 +10937,8 @@
<constant value="-1" ctype="gint" gtype="gint" name="VALUE_LESS_THAN"/>
<constant value="2" ctype="gint" gtype="gint" name="VALUE_UNORDERED"/>
<constant value="1" ctype="gint" gtype="gint" name="VERSION_MAJOR"/>
<constant value="91" ctype="gint" gtype="gint" name="VERSION_MICRO"/>
<constant value="3" ctype="gint" gtype="gint" name="VERSION_MINOR"/>
<constant value="0" ctype="gint" gtype="gint" name="VERSION_MICRO"/>
<constant value="4" ctype="gint" gtype="gint" name="VERSION_MINOR"/>
<constant value="0" ctype="gint" gtype="gint" name="VERSION_NANO"/>
</object>
</namespace>
@ -16056,131 +16062,6 @@
</object>
<object name="Constants" cname="GstFftConstants" opaque="true"/>
</namespace>
<namespace name="GstInsertBin" library="gstinsertbin-1.0">
<callback name="InsertBinCallback" cname="GstInsertBinCallback">
<return-type type="void"/>
<parameters>
<parameter name="insertbin" type="GstInsertBin*"/>
<parameter name="element" type="GstElement*"/>
<parameter name="success" type="gboolean"/>
<parameter closure="3" name="user_data" type="gpointer"/>
</parameters>
</callback>
<object name="InsertBin" cname="GstInsertBin" opaque="false" hidden="false" parent="GstBin">
<implements>
<interface cname="GstChildProxy"/>
</implements>
<class_struct cname="GstInsertBinClass">
<field cname="parent_class" access="public" writeable="false" readable="true" name="ParentClass" type="GstBinClass">
<warning>missing glib:type-name</warning>
</field>
</class_struct>
<method name="GetType" cname="gst_insert_bin_get_type" shared="true">
<return-type type="GType"/>
</method>
<constructor cname="gst_insert_bin_new">
<parameters>
<parameter name="name" type="const-gchar*"/>
</parameters>
</constructor>
<method name="Append" cname="gst_insert_bin_append">
<return-type type="void"/>
<parameters>
<parameter name="element" type="GstElement*"/>
<parameter closure="2" scope="async" name="callback" type="GstInsertBinCallback"/>
<parameter name="user_data" type="gpointer"/>
</parameters>
</method>
<method name="InsertAfter" cname="gst_insert_bin_insert_after">
<return-type type="void"/>
<parameters>
<parameter name="element" type="GstElement*"/>
<parameter name="sibling" type="GstElement*"/>
<parameter closure="3" scope="async" name="callback" type="GstInsertBinCallback"/>
<parameter name="user_data" type="gpointer"/>
</parameters>
</method>
<method name="InsertBefore" cname="gst_insert_bin_insert_before">
<return-type type="void"/>
<parameters>
<parameter name="element" type="GstElement*"/>
<parameter name="sibling" type="GstElement*"/>
<parameter closure="3" scope="async" name="callback" type="GstInsertBinCallback"/>
<parameter name="user_data" type="gpointer"/>
</parameters>
</method>
<method name="Prepend" cname="gst_insert_bin_prepend">
<return-type type="void"/>
<parameters>
<parameter name="element" type="GstElement*"/>
<parameter closure="2" scope="async" name="callback" type="GstInsertBinCallback"/>
<parameter name="user_data" type="gpointer"/>
</parameters>
</method>
<method name="Remove" cname="gst_insert_bin_remove">
<return-type type="void"/>
<parameters>
<parameter name="element" type="GstElement*"/>
<parameter closure="2" scope="async" name="callback" type="GstInsertBinCallback"/>
<parameter name="user_data" type="gpointer"/>
</parameters>
</method>
<field cname="parent" access="public" writeable="false" readable="true" name="Parent" type="GstBin*"/>
<field cname="priv" access="private" writeable="false" readable="false" name="Priv" type="GstInsertBinPrivate*">
<warning>missing glib:type-name</warning>
</field>
<signal name="AppendEvent" cname="append" when="last">
<return-type type="void"/>
<parameters>
<parameter name="_object" type="GstElement*"/>
<parameter name="p0" type="gpointer"/>
<parameter name="p1" type="gpointer"/>
</parameters>
<warning>Signal renamed because of existing method with same name</warning>
</signal>
<signal name="InsertAfterEvent" cname="insert-after" when="last">
<return-type type="void"/>
<parameters>
<parameter name="_object" type="GstElement*"/>
<parameter name="p0" type="GstElement*"/>
<parameter name="p1" type="gpointer"/>
<parameter name="p2" type="gpointer"/>
</parameters>
<warning>Signal renamed because of existing method with same name</warning>
</signal>
<signal name="InsertBeforeEvent" cname="insert-before" when="last">
<return-type type="void"/>
<parameters>
<parameter name="_object" type="GstElement*"/>
<parameter name="p0" type="GstElement*"/>
<parameter name="p1" type="gpointer"/>
<parameter name="p2" type="gpointer"/>
</parameters>
<warning>Signal renamed because of existing method with same name</warning>
</signal>
<signal name="PrependEvent" cname="prepend" when="last">
<return-type type="void"/>
<parameters>
<parameter name="_object" type="GstElement*"/>
<parameter name="p0" type="gpointer"/>
<parameter name="p1" type="gpointer"/>
</parameters>
<warning>Signal renamed because of existing method with same name</warning>
</signal>
<signal name="RemoveEvent" cname="remove" when="last">
<return-type type="void"/>
<parameters>
<parameter name="_object" type="GstElement*"/>
<parameter name="p0" type="gpointer"/>
<parameter name="p1" type="gpointer"/>
</parameters>
<warning>Signal renamed because of existing method with same name</warning>
</signal>
</object>
<struct name="InsertBinPrivate" cname="GstInsertBinPrivate" opaque="true" hidden="true"/>
<object name="Global" cname="GstInsertBinGlobal" opaque="true"/>
<object name="Constants" cname="GstInsertBinConstants" opaque="true"/>
</namespace>
<namespace name="GstMpegts" library="gstmpegts-1.0">
<enum name="ATSCDescriptorType" cname="GstMpegtsATSCDescriptorType" type="enum">
<member cname="GST_MTS_DESC_ATSC_STUFFING" name="Stuffing" value="128"/>
@ -17447,7 +17328,7 @@
<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="true" hidden="false">
<boxed name="Section" cname="GstMpegtsSection" opaque="false" hidden="false">
<method name="GetType" cname="gst_mpegts_section_get_type" shared="true">
<return-type type="GType"/>
</method>
@ -18946,8 +18827,8 @@
<constant value="online-service" ctype="gchar*" gtype="gchar*" name="ENCODING_CATEGORY_ONLINE_SERVICE"/>
<constant value="storage-editing" ctype="gchar*" gtype="gchar*" name="ENCODING_CATEGORY_STORAGE_EDITING"/>
<constant value="1" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MAJOR"/>
<constant value="91" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MICRO"/>
<constant value="3" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MINOR"/>
<constant value="0" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MICRO"/>
<constant value="4" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MINOR"/>
<constant value="0" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_NANO"/>
</object>
</namespace>
@ -25487,7 +25368,7 @@
<parameters/>
</method>
</struct>
<struct name="VideoGLTextureUploadMeta" cname="GstVideoGLTextureUploadMeta" opaque="true" hidden="false">
<struct name="VideoGLTextureUploadMeta" cname="GstVideoGLTextureUploadMeta" opaque="false" hidden="false">
<field cname="meta" access="public" writeable="true" readable="true" name="Meta" type="GstMeta">
<warning>missing glib:type-name</warning>
</field>

View file

@ -24,6 +24,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
<!-- Error with array -->
<attr path="/api/namespace/object[@cname='GstGlobal']/method[@cname='gst_formats_contains']" name="hidden">true</attr>
<!-- MiniObject issues -->
<attr path="/api/namespace/struct[@cname='GstMiniObject']" name="opaque">true</attr>
<attr path="/api/namespace/struct[@cname='GstMiniObject']/field[@cname='copy']" name="type">gpointer</attr>
<attr path="/api/namespace/struct[@cname='GstMiniObject']/field[@cname='free']" name="type">gpointer</attr>
<attr path="/api/namespace/struct[@cname='GstMiniObject']/field[@cname='dispose']" name="type">gpointer</attr>
@ -46,14 +47,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
<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 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="opaque">true</attr>
<attr path="/api/namespace//boxed[field[@type='GstMiniObject']]" name="opaque">true</attr>
<attr path="/api/namespace//boxed[field[@type='GstMiniObject']]" name="parent">GstMiniObject</attr>
<attr path="/api/namespace//boxed/field[@type='GstMiniObject']" name="hidden">true</attr>
<attr path="/api/namespace/boxed[@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="opaque">true</attr>
<attr path="/api/namespace/struct[@cname='GstIterator']/method[@cname='gst_iterator_next']" name="hidden">true</attr>
<attr path="/api/namespace/boxed[@cname='GstIterator']" name="opaque">true</attr>
<attr path="/api/namespace/boxed[@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 -->
<attr path="/api/namespace/interface[@cname='GstChildProxy']/method[@cname='gst_child_proxy_get_property']" name="hidden">1</attr>
@ -82,10 +82,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
<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>
<!-- 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>
<!-- hide user data; FIXME: already removed in 1.2 GIR file, remove when we update to this version -->
<attr path="/api/namespace/object[@cname='GstBus']/method[@cname='gst_bus_sync_signal_handler']/parameters/parameter[@name='data']" name="hidden">1</attr>
@ -119,9 +115,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_pad')]">/api/namespace/object[@cname='GstPad']</move-node>
<!-- Things implemented on our own -->
<attr path="/api/namespace/struct[@cname='GstMessage']/method[@cname='gst_message_parse_error']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstMessage']/method[@cname='gst_message_get_stream_status_object']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstMessage']/method[@cname='gst_message_set_stream_status_object']" name="hidden">true</attr>
<attr path="/api/namespace/boxed[@cname='GstMessage']/method[@cname='gst_message_parse_error']" name="hidden">true</attr>
<attr path="/api/namespace/boxed[@cname='GstMessage']/method[@cname='gst_message_get_stream_status_object']" name="hidden">true</attr>
<attr path="/api/namespace/boxed[@cname='GstMessage']/method[@cname='gst_message_set_stream_status_object']" name="hidden">true</attr>
<!-- GstVideo -->
<attr path="/api/namespace/boxed[@cname='GstVideoCodecState']/field[@cname='padding']" name="type">gpointer</attr>
@ -192,6 +188,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
<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"/>
<attr path="//method[@cname='gst_mini_object_replace']" name="hidden">true</attr>
<attr path="//method[@cname='gst_mini_object_take']" name="hidden">true</attr>
<attr path="//struct[@cname='GstVideoGLTextureUploadMeta']" name="nohash">true</attr>
<attr path="//struct[@cname='GstVideoGLTextureUploadMeta']" name="noequals">true</attr>
<!-- No way to correctly generate these without the element type -->
<attr path="//boxed[@cname='GstMpegtsDescriptor']//method[parameters/parameter[@type='GArray***']]" name="hidden">true</attr>