summaryrefslogtreecommitdiff
path: root/gstreamer-sharp
diff options
context:
space:
mode:
Diffstat (limited to 'gstreamer-sharp')
-rw-r--r--gstreamer-sharp/Buffer.custom11
-rw-r--r--gstreamer-sharp/EnumInfo.cs24
-rw-r--r--gstreamer-sharp/Event.custom24
-rw-r--r--gstreamer-sharp/Gstreamer.metadata123
-rw-r--r--gstreamer-sharp/Iterator.cs2
-rw-r--r--gstreamer-sharp/Makefile.am4
-rw-r--r--gstreamer-sharp/Message.custom62
-rw-r--r--gstreamer-sharp/MiniObject.cs522
-rw-r--r--gstreamer-sharp/MiniObject.custom51
-rw-r--r--gstreamer-sharp/MixerMessage.cs116
-rw-r--r--gstreamer-sharp/NavigationEvent.cs84
-rw-r--r--gstreamer-sharp/NavigationMessage.cs110
-rw-r--r--gstreamer-sharp/NavigationQuery.cs134
-rw-r--r--gstreamer-sharp/Pad.custom6
-rw-r--r--gstreamer-sharp/Query.custom20
-rw-r--r--gstreamer-sharp/TunerNorm.custom48
16 files changed, 900 insertions, 441 deletions
diff --git a/gstreamer-sharp/Buffer.custom b/gstreamer-sharp/Buffer.custom
index 30e72f4..793dfb9 100644
--- a/gstreamer-sharp/Buffer.custom
+++ b/gstreamer-sharp/Buffer.custom
@@ -71,17 +71,18 @@ public byte this [uint index] {
}
}
+[DllImport ("gstreamer-0.10.dll") ]
+static extern void gst_mini_object_unref (IntPtr raw);
+
/* FIXME: This is not optimal */
public void MakeMetadataWritable() {
if (IsMetadataWritable)
return;
- IntPtr sub = gst_buffer_create_sub (Raw, 0, Size);
+ IntPtr old = Handle;
+ IntPtr sub = gst_buffer_create_sub (Handle, 0, Size);
Raw = sub;
- /* ^--- Takes a second ref, not good */
- Unref (Raw);
- /* ^--- Sets Owned = false, wrong! */
- Owned = true;
+ gst_mini_object_unref (old);
}
[DllImport ("gstreamer-0.10.dll") ]
diff --git a/gstreamer-sharp/EnumInfo.cs b/gstreamer-sharp/EnumInfo.cs
index e8348f6..a40137b 100644
--- a/gstreamer-sharp/EnumInfo.cs
+++ b/gstreamer-sharp/EnumInfo.cs
@@ -103,12 +103,12 @@ namespace Gst {
public EnumValue this[int val] {
get {
- foreach (EnumValue v in Values) {
- if (v.value == val)
- return v;
- }
+ foreach (EnumValue v in Values) {
+ if (v.value == val)
+ return v;
+ }
- throw new Exception ();
+ throw new Exception ();
}
}
@@ -191,14 +191,14 @@ namespace Gst {
get {
System.Collections.ArrayList ret = new System.Collections.ArrayList ();
- foreach (FlagsValue v in Values) {
- if (flags == 0 && v.value == 0)
- ret.Add (v);
- else if ((v.value & flags) != 0)
- ret.Add (v);
- }
+ foreach (FlagsValue v in Values) {
+ if (flags == 0 && v.value == 0)
+ ret.Add (v);
+ else if ( (v.value & flags) != 0)
+ ret.Add (v);
+ }
- return (FlagsValue[]) ret.ToArray (typeof (FlagsValue));
+ return (FlagsValue[]) ret.ToArray (typeof (FlagsValue));
}
}
diff --git a/gstreamer-sharp/Event.custom b/gstreamer-sharp/Event.custom
index d18c041..dc2f666 100644
--- a/gstreamer-sharp/Event.custom
+++ b/gstreamer-sharp/Event.custom
@@ -1,5 +1,3 @@
-protected Event () : base () { }
-
public Event (GLib.Value val) : base (val) { }
[DllImport ("gstreamersharpglue-0.10") ]
@@ -143,7 +141,7 @@ public static uint GetTypeNumber (Gst.EventType type) {
static extern IntPtr gst_event_new_custom (Gst.EventType type, IntPtr structure);
public static Gst.Event NewCustom (Gst.EventType type, Gst.Structure structure) {
- Gst.Event ev = (Gst.Event) GLib.Opaque.GetOpaque (gst_event_new_custom (type, (structure != null) ? structure.Handle : IntPtr.Zero), typeof (Gst.Event), true);
+ Gst.Event ev = (Gst.Event) Gst.MiniObject.GetObject (gst_event_new_custom (type, (structure != null) ? structure.Handle : IntPtr.Zero), true);
ev.cached_structure = structure;
structure.FreeNative = false;
@@ -154,7 +152,7 @@ public static Gst.Event NewCustom (Gst.EventType type, Gst.Structure structure)
static extern IntPtr gst_event_new_flush_start ();
public static Gst.Event NewFlushStart () {
- Gst.Event ev = (Gst.Event) GLib.Opaque.GetOpaque (gst_event_new_flush_start (), typeof (Gst.Event), true);
+ Gst.Event ev = (Gst.Event) Gst.MiniObject.GetObject (gst_event_new_flush_start (), true);
return ev;
}
@@ -163,7 +161,7 @@ public static Gst.Event NewFlushStart () {
static extern IntPtr gst_event_new_flush_stop ();
public static Gst.Event NewFlushStop () {
- Gst.Event ev = (Gst.Event) GLib.Opaque.GetOpaque (gst_event_new_flush_stop (), typeof (Gst.Event), true);
+ Gst.Event ev = (Gst.Event) Gst.MiniObject.GetObject (gst_event_new_flush_stop (), true);
return ev;
}
@@ -172,7 +170,7 @@ public static Gst.Event NewFlushStop () {
static extern IntPtr gst_event_new_eos ();
public static Gst.Event NewEos () {
- Gst.Event ev = (Gst.Event) GLib.Opaque.GetOpaque (gst_event_new_eos (), typeof (Gst.Event), true);
+ Gst.Event ev = (Gst.Event) Gst.MiniObject.GetObject (gst_event_new_eos (), true);
return ev;
}
@@ -181,7 +179,7 @@ public static Gst.Event NewEos () {
static extern IntPtr gst_event_new_new_segment_full (bool update, double rate, double applied_rate, Gst.Format format, long start, long stop, long position);
public static Gst.Event NewNewSegment (bool update, double rate, double applied_rate, Gst.Format format, long start, long stop, long position) {
- Gst.Event ev = (Gst.Event) GLib.Opaque.GetOpaque (gst_event_new_new_segment_full (update, rate, applied_rate, format, start, stop, position), typeof (Gst.Event), true);
+ Gst.Event ev = (Gst.Event) Gst.MiniObject.GetObject (gst_event_new_new_segment_full (update, rate, applied_rate, format, start, stop, position), true);
return ev;
}
@@ -213,7 +211,7 @@ static extern IntPtr gst_event_new_tag (IntPtr tags);
static extern IntPtr gst_tag_list_copy (IntPtr raw);
public static Gst.Event NewTag (Gst.TagList tags) {
- Gst.Event ev = (Gst.Event) GLib.Opaque.GetOpaque (gst_event_new_tag ( (tags != null) ? gst_tag_list_copy (tags.Handle) : IntPtr.Zero), typeof (Gst.Event), true);
+ Gst.Event ev = (Gst.Event) Gst.MiniObject.GetObject (gst_event_new_tag ( (tags != null) ? gst_tag_list_copy (tags.Handle) : IntPtr.Zero), true);
return ev;
}
@@ -239,7 +237,7 @@ public void ParseTag (out TagList tags) {
static extern IntPtr gst_event_new_buffer_size (Gst.Format format, long min, long max, bool async);
public static Gst.Event NewBufferSize (Gst.Format format, long min, long max, bool async) {
- Gst.Event ev = (Gst.Event) GLib.Opaque.GetOpaque (gst_event_new_buffer_size (format, min, max, async), typeof (Gst.Event), true);
+ Gst.Event ev = (Gst.Event) Gst.MiniObject.GetObject (gst_event_new_buffer_size (format, min, max, async), true);
return ev;
}
@@ -258,7 +256,7 @@ public void ParseBufferSize (out Gst.Format format, out long min, out long max,
static extern IntPtr gst_event_new_qos (double proportion, long diff, ulong timestamp);
public static Gst.Event NewQos (double proportion, long diff, ulong timestamp) {
- Gst.Event ev = (Gst.Event) GLib.Opaque.GetOpaque (gst_event_new_qos (proportion, diff, timestamp), typeof (Gst.Event), true);
+ Gst.Event ev = (Gst.Event) Gst.MiniObject.GetObject (gst_event_new_qos (proportion, diff, timestamp), true);
return ev;
}
@@ -278,7 +276,7 @@ public void ParseQos (out double proportion, out long diff, out ulong timestamp)
static extern IntPtr gst_event_new_seek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, long start, Gst.SeekType stop_type, long stop);
public static Gst.Event NewSeek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, long start, Gst.SeekType stop_type, long stop) {
- Gst.Event ev = (Gst.Event) GLib.Opaque.GetOpaque (gst_event_new_seek (rate, format, flags, start_type, start, stop_type, stop), typeof (Gst.Event), true);
+ Gst.Event ev = (Gst.Event) Gst.MiniObject.GetObject (gst_event_new_seek (rate, format, flags, start_type, start, stop_type, stop), true);
return ev;
}
@@ -297,7 +295,7 @@ public void ParseSeek (out double rate, out Gst.Format format, out Gst.SeekFlags
static extern IntPtr gst_event_new_navigation (IntPtr structure);
public static Gst.Event NewNavigation (Gst.Structure structure) {
- Gst.Event ev = (Gst.Event) GLib.Opaque.GetOpaque (gst_event_new_navigation (structure.Handle), typeof (Gst.Event), true);
+ Gst.Event ev = (Gst.Event) Gst.MiniObject.GetObject (gst_event_new_navigation (structure.Handle), true);
ev.cached_structure = structure;
structure.FreeNative = false;
@@ -308,7 +306,7 @@ public static Gst.Event NewNavigation (Gst.Structure structure) {
static extern IntPtr gst_event_new_latency (ulong latency);
public static Gst.Event NewLatency (ulong latency) {
- Gst.Event ev = (Gst.Event) GLib.Opaque.GetOpaque (gst_event_new_latency (latency), typeof (Gst.Event), true);
+ Gst.Event ev = (Gst.Event) Gst.MiniObject.GetObject (gst_event_new_latency (latency), true);
return ev;
}
diff --git a/gstreamer-sharp/Gstreamer.metadata b/gstreamer-sharp/Gstreamer.metadata
index 0a9558e..8a6575a 100644
--- a/gstreamer-sharp/Gstreamer.metadata
+++ b/gstreamer-sharp/Gstreamer.metadata
@@ -1,6 +1,7 @@
<?xml version="1.0"?>
<metadata>
<attr path="/api/namespace/object" name="disable_gtype_ctor">1</attr>
+ <attr path="/api/namespace/mini-object" name="disable_gtype_ctor">1</attr>
<attr path="/api/namespace/enum/member[@name='NumErrors']" name="hidden">1</attr>
@@ -45,28 +46,27 @@
<attr path="/api/namespace/enum[@name='BinFlags']/member[@cname='GST_BIN_FLAG_LAST']" name="value">ElementFlags.Last &lt;&lt; 5</attr>
- <change-node-type path="/api/namespace/object[@name='Buffer']">boxed</change-node-type>
- <attr path="/api/namespace/boxed[@name='Buffer']" name="opaque">true</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/method[@cname='gst_buffer_get_type']" name="new_flag">1</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/method[@cname='gst_buffer_get_caps']/return-type" name="owned">true</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/field[@name='Data']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/field[@name='Duration']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/field[@name='MallocData']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/field[@name='Offset']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/field[@name='OffsetEnd']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/field[@name='Timestamp']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/field[@name='Caps']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/field[@name='FreeFunc']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/method[@cname='gst_buffer_get_caps']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/method[@cname='gst_buffer_set_caps']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/method[@cname='gst_buffer_stamp']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/method[@cname='gst_buffer_join']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/method[@cname='gst_buffer_make_metadata_writable']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/constructor[@cname='gst_buffer_new_and_alloc']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/method[@cname='gst_buffer_try_new_and_alloc']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/method[@cname='gst_buffer_create_sub']/return-type" name="owned">true</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/method[@cname='gst_buffer_merge']/return-type" name="owned">true</attr>
- <attr path="/api/namespace/boxed[@name='Buffer']/method[@cname='gst_buffer_span']/return-type" name="owned">true</attr>
+ <change-node-type path="/api/namespace/object[@name='Buffer']">mini-object</change-node-type>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/method[@cname='gst_buffer_get_type']" name="new_flag">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/method[@cname='gst_buffer_get_caps']/return-type" name="owned">true</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/field[@name='Data']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/field[@name='Duration']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/field[@name='MallocData']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/field[@name='Offset']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/field[@name='OffsetEnd']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/field[@name='Timestamp']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/field[@name='Caps']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/field[@name='FreeFunc']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/method[@cname='gst_buffer_get_caps']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/method[@cname='gst_buffer_set_caps']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/method[@cname='gst_buffer_stamp']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/method[@cname='gst_buffer_join']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/method[@cname='gst_buffer_make_metadata_writable']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/constructor[@cname='gst_buffer_new_and_alloc']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/method[@cname='gst_buffer_try_new_and_alloc']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/method[@cname='gst_buffer_create_sub']/return-type" name="owned">true</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/method[@cname='gst_buffer_merge']/return-type" name="owned">true</attr>
+ <attr path="/api/namespace/mini-object[@name='Buffer']/method[@cname='gst_buffer_span']/return-type" name="owned">true</attr>
<attr path="/api/namespace/enum[@name='BufferFlag']" name="name">BufferFlags</attr>
<attr path="/api/namespace/enum[@name='BufferFlags']/member[@cname='GST_BUFFER_FLAG_READONLY']" name="value">MiniObjectFlags.Readonly</attr>
@@ -316,18 +316,17 @@
<attr path="/api/namespace/enum[@name='ElementFlags']/member[@cname='GST_ELEMENT_UNPARENTING']" name="value">ObjectFlags.Last &lt;&lt; 2</attr>
<attr path="/api/namespace/enum[@name='ElementFlags']/member[@cname='GST_ELEMENT_FLAG_LAST']" name="value">ObjectFlags.Last &lt;&lt; 16</attr>
- <change-node-type path="/api/namespace/object[@name='Event']">boxed</change-node-type>
- <attr path="/api/namespace/boxed[@name='Event']" name="opaque">true</attr>
- <attr path="/api/namespace/boxed[@name='Event']/method[@cname='gst_event_get_type']" name="new_flag">1</attr>
- <attr path="/api/namespace/boxed[@name='Event']/field[@name='Timestamp']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Event']/field[@name='Src']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Event']/field[@name='Structure']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Event']/field[@name='Seqnum']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Event']/constructor" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Event']/method" name="hidden">1</attr>
- <remove-attr path="/api/namespace/boxed[@name='Event']/method[@cname='gst_event_get_type']" name="hidden" />
- <remove-attr path="/api/namespace/boxed[@name='Event']/method[@cname='gst_event_type_get_name']" name="hidden" />
- <attr path="/api/namespace/boxed[@name='Event']/method[@cname='gst_event_type_get_name']" name="name">GetTypeName</attr>
+ <change-node-type path="/api/namespace/object[@name='Event']">mini-object</change-node-type>
+ <attr path="/api/namespace/mini-object[@name='Event']/method[@cname='gst_event_get_type']" name="new_flag">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Event']/field[@name='Timestamp']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Event']/field[@name='Src']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Event']/field[@name='Structure']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Event']/field[@name='Seqnum']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Event']/constructor" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Event']/method" name="hidden">1</attr>
+ <remove-attr path="/api/namespace/mini-object[@name='Event']/method[@cname='gst_event_get_type']" name="hidden" />
+ <remove-attr path="/api/namespace/mini-object[@name='Event']/method[@cname='gst_event_type_get_name']" name="hidden" />
+ <attr path="/api/namespace/mini-object[@name='Event']/method[@cname='gst_event_type_get_name']" name="name">GetTypeName</attr>
<remove-node path="/api/namespace/enum[@name='EventType']/member[@name='0_']" />
<remove-node path="/api/namespace/enum[@name='EventType']/member[@name='Flag']" />
@@ -466,30 +465,22 @@
<remove-node path="/api/namespace/class[@name='Init']" />
- <change-node-type path="/api/namespace/object[@name='Message']">boxed</change-node-type>
- <attr path="/api/namespace/boxed[@name='Message']" name="opaque">true</attr>
- <attr path="/api/namespace/boxed[@name='Message']/method[@cname='gst_message_get_type']" name="new_flag">1</attr>
- <attr path="/api/namespace/boxed[@name='Message']/field[@name='Timestamp']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Message']/field[@name='Src']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Message']/field[@name='Structure']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Message']/method[@cname='gst_message_type_to_quark']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Message']/method[@cname='gst_message_type_get_name']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Message']/constructor" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Message']/method" name="hidden">1</attr>
- <remove-attr path="/api/namespace/boxed[@name='Message']/method[@cname='gst_message_get_type']" name="hidden" />
+ <change-node-type path="/api/namespace/object[@name='Message']">mini-object</change-node-type>
+ <attr path="/api/namespace/mini-object[@name='Message']/method[@cname='gst_message_get_type']" name="new_flag">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Message']/field[@name='Timestamp']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Message']/field[@name='Src']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Message']/field[@name='Structure']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Message']/method[@cname='gst_message_type_to_quark']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Message']/method[@cname='gst_message_type_get_name']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Message']/constructor" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Message']/method" name="hidden">1</attr>
+ <remove-attr path="/api/namespace/mini-object[@name='Message']/method[@cname='gst_message_get_type']" name="hidden" />
<attr path="/api/namespace/enum[@name='MessageType']" name="parent">uint</attr>
<attr path="/api/namespace/enum[@name='MessageType']/member[@name='Unknown']" name="value">0U</attr>
<attr path="/api/namespace/enum[@name='MessageType']/member[@name='Any']" name="value">0xffffffff</attr>
- <change-node-type path="/api/namespace/object[@name='MiniObject']">boxed</change-node-type>
- <attr path="/api/namespace/boxed[@name='MiniObject']" name="opaque">true</attr>
- <remove-attr path="/api/namespace/boxed[@name='MiniObject']" name="parent" />
- <attr path="/api/namespace/boxed[@name='MiniObject']/field[@name='Flags']" name="writeable">true</attr>
- <attr path="/api/namespace/boxed[@name='MiniObject']/field[@name='Flags']" name="type">GstMiniObjectFlags</attr>
- <attr path="/api/namespace/boxed[@name='MiniObject']/method[@cname='gst_mini_object_copy']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='MiniObject']/method[@cname='gst_mini_object_make_writable']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='MiniObject']/method[@cname='gst_mini_object_replace']" name="hidden">1</attr>
+ <attr path="/api/namespace/object[@name='MiniObject']" name="hidden">1</attr>
<attr path="/api/namespace/callback[@name='MiniObjectCopyFunction']" name="hidden">1</attr>
@@ -744,19 +735,19 @@
<attr path="/api/namespace/interface[@name='Preset']/method[@cname='gst_preset_get_meta']/parameters/parameter[@name='value']" name="pass_as">out</attr>
<attr path="/api/namespace/interface[@name='Preset']/virtual_method[@cname='get_meta']/parameters/parameter[@name='value']" name="pass_as">out</attr>
- <change-node-type path="/api/namespace/object[@name='Query']">boxed</change-node-type>
- <attr path="/api/namespace/boxed[@name='Query']" name="opaque">true</attr>
- <attr path="/api/namespace/boxed[@name='Query']/method[@cname='gst_query_get_type']" name="new_flag">1</attr>
- <attr path="/api/namespace/boxed[@name='Query']/field[@name='Structure']" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Query']/method" name="hidden">1</attr>
- <attr path="/api/namespace/boxed[@name='Query']/constructor" name="hidden">1</attr>
- <remove-attr path="/api/namespace/boxed[@name='Query']/method[@cname='gst_query_get_type']" name="hidden" />
- <remove-attr path="/api/namespace/boxed[@name='Query']/method[@cname='gst_query_type_get_by_nick']" name="hidden" />
- <attr path="/api/namespace/boxed[@name='Query']/method[@cname='gst_query_type_get_by_nick']" name="name">GetTypeByNick</attr>
- <remove-attr path="/api/namespace/boxed[@name='Query']/method[@cname='gst_query_type_get_name']" name="hidden" />
- <attr path="/api/namespace/boxed[@name='Query']/method[@cname='gst_query_type_get_name']" name="name">GetTypeName</attr>
- <remove-attr path="/api/namespace/boxed[@name='Query']/method[@cname='gst_query_type_register']" name="hidden" />
- <attr path="/api/namespace/boxed[@name='Query']/method[@cname='gst_query_type_register']" name="name">RegisterType</attr>
+ <change-node-type path="/api/namespace/object[@name='Query']">mini-object</change-node-type>
+ <attr path="/api/namespace/mini-object[@name='Query']" name="opaque">true</attr>
+ <attr path="/api/namespace/mini-object[@name='Query']/method[@cname='gst_query_get_type']" name="new_flag">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Query']/field[@name='Structure']" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Query']/method" name="hidden">1</attr>
+ <attr path="/api/namespace/mini-object[@name='Query']/constructor" name="hidden">1</attr>
+ <remove-attr path="/api/namespace/mini-object[@name='Query']/method[@cname='gst_query_get_type']" name="hidden" />
+ <remove-attr path="/api/namespace/mini-object[@name='Query']/method[@cname='gst_query_type_get_by_nick']" name="hidden" />
+ <attr path="/api/namespace/mini-object[@name='Query']/method[@cname='gst_query_type_get_by_nick']" name="name">GetTypeByNick</attr>
+ <remove-attr path="/api/namespace/mini-object[@name='Query']/method[@cname='gst_query_type_get_name']" name="hidden" />
+ <attr path="/api/namespace/mini-object[@name='Query']/method[@cname='gst_query_type_get_name']" name="name">GetTypeName</attr>
+ <remove-attr path="/api/namespace/mini-object[@name='Query']/method[@cname='gst_query_type_register']" name="hidden" />
+ <attr path="/api/namespace/mini-object[@name='Query']/method[@cname='gst_query_type_register']" name="name">RegisterType</attr>
<attr path="/api/namespace/struct[@name='QueryTypeDefinition']" name="hidden">1</attr>
diff --git a/gstreamer-sharp/Iterator.cs b/gstreamer-sharp/Iterator.cs
index 1e33131..29dc742 100644
--- a/gstreamer-sharp/Iterator.cs
+++ b/gstreamer-sharp/Iterator.cs
@@ -40,7 +40,7 @@ namespace Gst {
return true;
case 2:
gst_iterator_resync (iterator);
- retry = true;
+ retry = true;
break;
default:
case 3:
diff --git a/gstreamer-sharp/Makefile.am b/gstreamer-sharp/Makefile.am
index 7de8de7..5489aed 100644
--- a/gstreamer-sharp/Makefile.am
+++ b/gstreamer-sharp/Makefile.am
@@ -47,6 +47,7 @@ sources = \
PropertyInfo.cs \
EnumInfo.cs \
Iterator.cs \
+ MiniObject.cs \
GstSharp.PadQueryTypeFunctionNative.cs \
PadQueryTypeFunction.cs \
TypeFindDelegates.cs \
@@ -89,7 +90,6 @@ customs = \
PadTemplate.custom \
Plugin.custom \
Task.custom \
- MiniObject.custom \
IndexEntry.custom \
Index.custom \
IndexFactory.custom \
@@ -122,7 +122,7 @@ $(API): $(srcdir)/$(RAW_API) $(srcdir)/$(METADATA) $(srcdir)/$(SYMBOLS)
--symbols=$(srcdir)/$(SYMBOLS)
generated-stamp: $(API) $(build_customs) $(overrides)
- $(MONO) $(top_builddir)/generator/gst-gapi_codegen.exe--generate $(API) \
+ $(MONO) $(top_builddir)/generator/gst-gapi_codegen.exe --generate $(API) \
--outdir=generated --customdir=$(srcdir) --assembly-name=$(ASSEMBLY_NAME) \
--gluelib-name=gstreamersharpglue-0.10 --glue-filename=glue/generated.c \
--glue-includes=$(glue_includes) \
diff --git a/gstreamer-sharp/Message.custom b/gstreamer-sharp/Message.custom
index 1489f9f..2d5de62 100644
--- a/gstreamer-sharp/Message.custom
+++ b/gstreamer-sharp/Message.custom
@@ -1,5 +1,3 @@
-protected Message () : base () { }
-
public Message (GLib.Value val) : base (val) { }
[DllImport ("gstreamersharpglue-0.10") ]
@@ -104,7 +102,7 @@ public Gst.Structure Structure {
static extern IntPtr gst_message_new_eos (IntPtr src);
public static Message NewEos (Gst.Object src) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_eos (src.Handle), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_eos (src.Handle), true);
return msg;
}
@@ -140,7 +138,7 @@ public static Message NewError (Gst.Object src, Gst.CoreError error, string mess
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : GLib.Marshaller.StringToPtrGStrdup (debug);
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_error (src.Handle, ref err, raw_ptr), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_error (src.Handle, ref err, raw_ptr), true);
GLib.Marshaller.Free (raw_ptr);
err.Unset ();
@@ -162,7 +160,7 @@ public static Message NewError (Gst.Object src, Gst.StreamError error, string me
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : GLib.Marshaller.StringToPtrGStrdup (debug);
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_error (src.Handle, ref err, raw_ptr), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_error (src.Handle, ref err, raw_ptr), true);
GLib.Marshaller.Free (raw_ptr);
err.Unset ();
@@ -184,7 +182,7 @@ public static Message NewError (Gst.Object src, Gst.LibraryError error, string m
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : GLib.Marshaller.StringToPtrGStrdup (debug);
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_error (src.Handle, ref err, raw_ptr), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_error (src.Handle, ref err, raw_ptr), true);
GLib.Marshaller.Free (raw_ptr);
err.Unset ();
@@ -205,7 +203,7 @@ public static Message NewError (Gst.Object src, Gst.ResourceError error, string
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : GLib.Marshaller.StringToPtrGStrdup (debug);
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_error (src.Handle, ref err, raw_ptr), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_error (src.Handle, ref err, raw_ptr), true);
GLib.Marshaller.Free (raw_ptr);
err.Unset ();
@@ -278,7 +276,7 @@ public static Message NewWarning (Gst.Object src, Gst.CoreError error, string me
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : GLib.Marshaller.StringToPtrGStrdup (debug);
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_warning (src.Handle, ref err, raw_ptr), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_warning (src.Handle, ref err, raw_ptr), true);
GLib.Marshaller.Free (raw_ptr);
err.Unset ();
@@ -300,7 +298,7 @@ public static Message NewWarning (Gst.Object src, Gst.StreamError error, string
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : GLib.Marshaller.StringToPtrGStrdup (debug);
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_warning (src.Handle, ref err, raw_ptr), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_warning (src.Handle, ref err, raw_ptr), true);
GLib.Marshaller.Free (raw_ptr);
err.Unset ();
@@ -322,7 +320,7 @@ public static Message NewWarning (Gst.Object src, Gst.LibraryError error, string
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : GLib.Marshaller.StringToPtrGStrdup (debug);
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_warning (src.Handle, ref err, raw_ptr), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_warning (src.Handle, ref err, raw_ptr), true);
GLib.Marshaller.Free (raw_ptr);
err.Unset ();
@@ -344,7 +342,7 @@ public static Message NewWarning (Gst.Object src, Gst.ResourceError error, strin
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : GLib.Marshaller.StringToPtrGStrdup (debug);
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_warning (src.Handle, ref err, raw_ptr), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_warning (src.Handle, ref err, raw_ptr), true);
GLib.Marshaller.Free (raw_ptr);
err.Unset ();
@@ -417,7 +415,7 @@ public static Message NewInfo (Gst.Object src, Gst.CoreError error, string messa
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : GLib.Marshaller.StringToPtrGStrdup (debug);
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_info (src.Handle, ref err, raw_ptr), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_info (src.Handle, ref err, raw_ptr), true);
GLib.Marshaller.Free (raw_ptr);
err.Unset ();
@@ -439,7 +437,7 @@ public static Message NewInfo (Gst.Object src, Gst.StreamError error, string mes
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : GLib.Marshaller.StringToPtrGStrdup (debug);
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_info (src.Handle, ref err, raw_ptr), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_info (src.Handle, ref err, raw_ptr), true);
GLib.Marshaller.Free (raw_ptr);
err.Unset ();
@@ -461,7 +459,7 @@ public static Message NewInfo (Gst.Object src, Gst.LibraryError error, string me
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : GLib.Marshaller.StringToPtrGStrdup (debug);
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_info (src.Handle, ref err, raw_ptr), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_info (src.Handle, ref err, raw_ptr), true);
GLib.Marshaller.Free (raw_ptr);
err.Unset ();
@@ -483,7 +481,7 @@ public static Message NewInfo (Gst.Object src, Gst.ResourceError error, string m
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : GLib.Marshaller.StringToPtrGStrdup (debug);
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_info (src.Handle, ref err, raw_ptr), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_info (src.Handle, ref err, raw_ptr), true);
GLib.Marshaller.Free (raw_ptr);
err.Unset ();
@@ -552,7 +550,7 @@ static extern IntPtr gst_message_new_tag (IntPtr src, IntPtr tags);
static extern IntPtr gst_tag_list_copy (IntPtr handle);
public static Message NewTag (Gst.Object src, TagList tags) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_tag (src.Handle, gst_tag_list_copy (tags.Handle)), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_tag (src.Handle, gst_tag_list_copy (tags.Handle)), true);
return msg;
}
@@ -577,7 +575,7 @@ public void ParseTag (out TagList tags) {
static extern IntPtr gst_message_new_buffering (IntPtr src, int percent);
public static Message NewBuffering (Gst.Object src, int percent) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_buffering (src.Handle, percent), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_buffering (src.Handle, percent), true);
return msg;
}
@@ -618,7 +616,7 @@ public void ParseBufferingStats (out Gst.BufferingMode mode, out int avg_in, out
static extern IntPtr gst_message_new_state_changed (IntPtr src, State oldstate, State newstate, State pendingstate);
public static Message NewStateChanged (Gst.Object src, State oldstate, State newstate, State pendingstate) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_state_changed (src.Handle, oldstate, newstate, pendingstate), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_state_changed (src.Handle, oldstate, newstate, pendingstate), true);
return msg;
}
@@ -637,7 +635,7 @@ public void ParseStateChanged (out State oldstate, out State newstate, out State
static extern IntPtr gst_message_new_state_dirty (IntPtr src);
public static Message NewStateDirty (Gst.Object src) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_state_dirty (src.Handle), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_state_dirty (src.Handle), true);
return msg;
}
@@ -645,7 +643,7 @@ public static Message NewStateDirty (Gst.Object src) {
static extern IntPtr gst_message_new_clock_provide (IntPtr src, IntPtr clock, bool ready);
public static Message NewClockProvide (Gst.Object src, Gst.Clock clock, bool ready) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_clock_provide (src.Handle, clock.Handle, ready), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_clock_provide (src.Handle, clock.Handle, ready), true);
return msg;
}
@@ -668,7 +666,7 @@ public void ParseClockProvide (out Gst.Clock clock, out bool ready) {
static extern IntPtr gst_message_new_clock_lost (IntPtr src, IntPtr clock);
public static Message NewClockLost (Gst.Object src, Gst.Clock clock) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_clock_lost (src.Handle, clock.Handle), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_clock_lost (src.Handle, clock.Handle), true);
return msg;
}
@@ -691,7 +689,7 @@ public void ParseClockLost (out Gst.Clock clock) {
static extern IntPtr gst_message_new_new_clock (IntPtr src, IntPtr clock);
public static Message NewNewClock (Gst.Object src, Gst.Clock clock) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_new_clock (src.Handle, clock.Handle), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_new_clock (src.Handle, clock.Handle), true);
return msg;
}
@@ -714,7 +712,7 @@ public void ParseNewClock (out Gst.Clock clock) {
static extern IntPtr gst_message_new_application (IntPtr src, IntPtr structure);
public static Message NewApplication (Gst.Object src, Gst.Structure structure) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_application (src.Handle, (structure != null) ? structure.Handle : IntPtr.Zero), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_application (src.Handle, (structure != null) ? structure.Handle : IntPtr.Zero), true);
msg.cached_structure = structure;
structure.FreeNative = false;
@@ -725,7 +723,7 @@ public static Message NewApplication (Gst.Object src, Gst.Structure structure) {
static extern IntPtr gst_message_new_element (IntPtr src, IntPtr structure);
public static Message NewElement (Gst.Object src, Gst.Structure structure) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_element (src.Handle, (structure != null) ? structure.Handle : IntPtr.Zero), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_element (src.Handle, (structure != null) ? structure.Handle : IntPtr.Zero), true);
msg.cached_structure = structure;
structure.FreeNative = false;
@@ -736,7 +734,7 @@ public static Message NewElement (Gst.Object src, Gst.Structure structure) {
static extern IntPtr gst_message_new_custom (Gst.MessageType type, IntPtr src, IntPtr structure);
public static Message NewCustom (Gst.MessageType type, Gst.Object src, Gst.Structure structure) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_custom (type, src.Handle, (structure != null) ? structure.Handle : IntPtr.Zero), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_custom (type, src.Handle, (structure != null) ? structure.Handle : IntPtr.Zero), true);
msg.cached_structure = structure;
structure.FreeNative = false;
@@ -747,7 +745,7 @@ public static Message NewCustom (Gst.MessageType type, Gst.Object src, Gst.Struc
static extern IntPtr gst_message_new_segment_start (IntPtr src, Gst.Format format, long position);
public static Message NewSegmentStart (Gst.Object src, Gst.Format format, long position) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_segment_start (src.Handle, format, position), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_segment_start (src.Handle, format, position), true);
return msg;
}
@@ -766,7 +764,7 @@ public void ParseSegmentStart (out Gst.Format format, out long position) {
static extern IntPtr gst_message_new_segment_done (IntPtr src, Gst.Format format, long position);
public static Message NewSegmentDone (Gst.Object src, Gst.Format format, long position) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_segment_done (src.Handle, format, position), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_segment_done (src.Handle, format, position), true);
return msg;
}
@@ -785,7 +783,7 @@ public void ParseSegmentDone (out Gst.Format format, out long position) {
static extern IntPtr gst_message_new_duration (IntPtr src, Gst.Format format, long duration);
public static Message NewDuration (Gst.Object src, Gst.Format format, long duration) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_duration (src.Handle, format, duration), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_duration (src.Handle, format, duration), true);
return msg;
}
@@ -804,7 +802,7 @@ public void ParseDuration (out Gst.Format format, out long duration) {
static extern IntPtr gst_message_new_latency (IntPtr src);
public static Message NewLatency (Gst.Object src) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_latency (src.Handle), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_latency (src.Handle), true);
return msg;
}
@@ -813,7 +811,7 @@ public static Message NewLatency (Gst.Object src) {
static extern IntPtr gst_message_new_async_start (IntPtr src, bool new_base_time);
public static Message NewAsyncStart (Gst.Object src, bool new_base_time) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_async_start (src.Handle, new_base_time), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_async_start (src.Handle, new_base_time), true);
return msg;
}
@@ -832,7 +830,7 @@ public void ParseAsyncStart (out bool new_base_time) {
static extern IntPtr gst_message_new_async_done (IntPtr src);
public static Message NewAsyncDone (Gst.Object src) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_async_done (src.Handle), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_async_done (src.Handle), true);
return msg;
}
@@ -841,7 +839,7 @@ public static Message NewAsyncDone (Gst.Object src) {
static extern IntPtr gst_message_new_structure_change (IntPtr src, StructureChangeType type, IntPtr owner, bool busy);
public static Message NewStructureChange (Gst.Object src, StructureChangeType type, Gst.Element owner, bool busy) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_message_new_structure_change (src.Handle, type, owner.Handle, busy), typeof (Message), true);
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_structure_change (src.Handle, type, owner.Handle, busy), true);
return msg;
}
diff --git a/gstreamer-sharp/MiniObject.cs b/gstreamer-sharp/MiniObject.cs
new file mode 100644
index 0000000..2c97f6e
--- /dev/null
+++ b/gstreamer-sharp/MiniObject.cs
@@ -0,0 +1,522 @@
+// MiniObject.cs - GstMiniObject class wrapper implementation
+//
+// Authors: Mike Kestner <mkestner@speakeasy.net>
+// Sebastian Dröge <sebastian.droege@collabora.co.uk>
+//
+// Copyright (c) 2001-2003 Mike Kestner
+// Copyright (c) 2004-2005 Novell, Inc.
+// Copyright (c) 2009 Sebastian Dröge <sebastian.droege@collabora.co.uk>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of version 2 of the Lesser GNU General
+// Public License as published by the Free Software Foundation.
+//
+// This program 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 program; if not, write to the
+// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.
+
+// Based on Object.cs from Gtk# 2.8.3
+
+// TODO: For managed types, install finalizer in ThresholdType
+// and only destroy the managed instance if the native instance
+// gets finalized => move managed instance to managed_tb_destroyed
+// and unref, if finalizer is called remove it completely.
+// For non-managed types handle as is.
+
+namespace Gst {
+
+ using System;
+ using System.Collections;
+ using System.ComponentModel;
+ using System.Reflection;
+ using System.Runtime.InteropServices;
+ using System.Text;
+ using GLib;
+
+ public class MiniObject : IWrapper, IDisposable {
+ [StructLayout (LayoutKind.Sequential) ]
+ struct GTypeClass {
+ public IntPtr gtype;
+ }
+
+ [StructLayout (LayoutKind.Sequential) ]
+ struct GstMiniObjectClass {
+ GTypeClass parent;
+ IntPtr copy;
+ IntPtr finalize;
+ IntPtr reserved;
+ }
+
+ [StructLayout (LayoutKind.Sequential) ]
+ struct GTypeInstance {
+ public IntPtr g_class;
+ }
+
+ [StructLayout (LayoutKind.Sequential) ]
+ struct GstMiniObject {
+ GTypeInstance parent;
+ public int refcount;
+ public Gst.MiniObjectFlags flags;
+ IntPtr reserved;
+ }
+
+ IntPtr handle;
+ bool disposed = false;
+ static Hashtable Objects = new Hashtable();
+ static ArrayList PendingDestroys = new ArrayList ();
+ static bool idle_queued;
+
+ ~MiniObject () {
+ Dispose ();
+ }
+
+ [DllImport ("gstreamer-0.10.dll") ]
+ static extern void gst_mini_object_unref (IntPtr raw);
+
+ static bool PerformQueuedUnrefs () {
+ MiniObject [] objects;
+
+ lock (PendingDestroys) {
+ objects = new MiniObject [PendingDestroys.Count];
+ PendingDestroys.CopyTo (objects, 0);
+ PendingDestroys.Clear ();
+ }
+ lock (typeof (MiniObject))
+ idle_queued = false;
+
+ foreach (MiniObject o in objects) {
+ if (o.handle == IntPtr.Zero)
+ continue;
+
+ try {
+ gst_mini_object_unref (o.handle);
+ } catch (Exception e) {
+ Console.WriteLine ("Exception while disposing a " + o + " in Gtk#");
+ throw e;
+ }
+ Objects.Remove (o.handle);
+ o.handle = IntPtr.Zero;
+ }
+ return false;
+ }
+
+ public virtual void Dispose () {
+ if (disposed)
+ return;
+
+ disposed = true;
+ lock (PendingDestroys) {
+ PendingDestroys.Add (this);
+ lock (typeof (MiniObject)) {
+ if (!idle_queued) {
+ Timeout.Add (50, new TimeoutHandler (PerformQueuedUnrefs));
+ idle_queued = true;
+ }
+ }
+ }
+ GC.SuppressFinalize (this);
+ }
+
+ [DllImport ("gstreamer-0.10.dll") ]
+ static extern IntPtr gst_mini_object_ref (IntPtr raw);
+
+ public static MiniObject GetObject (IntPtr o, bool owned_ref) {
+ if (o == IntPtr.Zero)
+ return null;
+
+ MiniObject obj = null;
+ WeakReference weak_ref = Objects[o] as WeakReference;
+
+ if (weak_ref != null && weak_ref.IsAlive)
+ obj = weak_ref.Target as MiniObject;
+
+ if (obj == null)
+ obj = Objects[o] as MiniObject;
+
+ if (obj != null && obj.handle == o) {
+ lock (PendingDestroys)
+ PendingDestroys.Remove (obj);
+ if (owned_ref)
+ gst_mini_object_unref (obj.handle);
+ obj.disposed = false;
+ return obj;
+ }
+
+ obj = CreateObject (o);
+ if (obj == null)
+ return null;
+
+ if (!owned_ref)
+ gst_mini_object_ref (obj.Handle);
+ Objects [o] = new WeakReference (obj);
+ return obj;
+ }
+
+ static BindingFlags flags = BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance | BindingFlags.CreateInstance;
+ private static MiniObject CreateObject (IntPtr raw) {
+ if (raw == IntPtr.Zero)
+ return null;
+
+ Type type = GetTypeOrParent (raw);
+
+ if (type == null)
+ return null;
+
+ MiniObject obj;
+ try {
+ obj = Activator.CreateInstance (type, flags, null, new object[] {raw}, null) as Gst.MiniObject;
+ } catch (MissingMethodException) {
+ throw new GLib.MissingIntPtrCtorException ("Gst.MiniObject subclass " + type + " must provide a protected or public IntPtr ctor to support wrapping of native object handles.");
+ }
+ return obj;
+ }
+
+ [DllImport ("gstreamersharpglue-0.10.dll") ]
+ static extern IntPtr gstsharp_g_type_from_instance (IntPtr inst);
+
+ static Type GetTypeOrParent (IntPtr obj) {
+ IntPtr typeid = gstsharp_g_type_from_instance (obj);
+ if (typeid == GType.Invalid.Val)
+ return null;
+
+ Type result = GType.LookupType (typeid);
+ while (result == null) {
+ typeid = g_type_parent (typeid);
+ if (typeid == IntPtr.Zero)
+ return null;
+ result = GType.LookupType (typeid);
+ }
+ return result;
+ }
+
+ [DllImport ("libgobject-2.0-0.dll") ]
+ static extern IntPtr g_type_parent (IntPtr typ);
+
+ public static MiniObject GetObject (IntPtr o) {
+ return GetObject (o, false);
+ }
+
+ private static void ConnectDefaultHandlers (GType gtype, System.Type t) {
+ foreach (MethodInfo minfo in t.GetMethods (BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.DeclaredOnly)) {
+ MethodInfo baseinfo = minfo.GetBaseDefinition ();
+ if (baseinfo == minfo)
+ continue;
+
+ foreach (object attr in baseinfo.GetCustomAttributes (typeof (DefaultSignalHandlerAttribute), false)) {
+ DefaultSignalHandlerAttribute sigattr = attr as DefaultSignalHandlerAttribute;
+ MethodInfo connector = sigattr.Type.GetMethod (sigattr.ConnectionMethod, BindingFlags.Static | BindingFlags.NonPublic);
+ object[] parms = new object [1];
+ parms [0] = gtype;
+ connector.Invoke (null, parms);
+ break;
+ }
+ }
+
+ }
+
+ private static void InvokeClassInitializers (GType gtype, System.Type t) {
+ object[] parms = {gtype, t};
+
+ BindingFlags flags = BindingFlags.Static | BindingFlags.NonPublic;
+
+ foreach (TypeInitializerAttribute tia in t.GetCustomAttributes (typeof (TypeInitializerAttribute), true)) {
+ MethodInfo m = tia.Type.GetMethod (tia.MethodName, flags);
+ if (m != null)
+ m.Invoke (null, parms);
+ }
+ }
+
+ static Hashtable class_structs;
+
+ static GstMiniObjectClass GetClassStruct (GLib.GType gtype, bool use_cache) {
+ if (class_structs == null)
+ class_structs = new Hashtable ();
+
+ if (use_cache && class_structs.Contains (gtype))
+ return (GstMiniObjectClass) class_structs [gtype];
+ else {
+ IntPtr class_ptr = gtype.ClassPtr;
+ GstMiniObjectClass class_struct = (GstMiniObjectClass) Marshal.PtrToStructure (class_ptr, typeof (GstMiniObjectClass));
+ if (use_cache)
+ class_structs.Add (gtype, class_struct);
+ return class_struct;
+ }
+ }
+
+ static void OverrideClassStruct (GLib.GType gtype, GstMiniObjectClass class_struct) {
+ IntPtr class_ptr = gtype.ClassPtr;
+ Marshal.StructureToPtr (class_struct, class_ptr, false);
+ }
+
+ static int type_uid;
+ static string BuildEscapedName (System.Type t) {
+ string qn = t.FullName;
+ // Just a random guess
+ StringBuilder sb = new StringBuilder (20 + qn.Length);
+ sb.Append ("__gtksharp_");
+ sb.Append (type_uid++);
+ sb.Append ("_");
+ foreach (char c in qn) {
+ if ( (c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
+ sb.Append (c);
+ else if (c == '.')
+ sb.Append ('_');
+ else if ( (uint) c <= byte.MaxValue) {
+ sb.Append ('+');
+ sb.Append ( ( (byte) c).ToString ("x2"));
+ } else {
+ sb.Append ('-');
+ sb.Append ( ( (uint) c).ToString ("x4"));
+ }
+ }
+ return sb.ToString ();
+ }
+
+
+ [StructLayout (LayoutKind.Sequential) ]
+ struct GTypeInfo {
+ public ushort class_size;
+ IntPtr base_init;
+ IntPtr base_finalize;
+ IntPtr class_init;
+ IntPtr class_finalize;
+ IntPtr class_data;
+ public ushort instance_size;
+ ushort n_preallocs;
+ IntPtr instance_init;
+ IntPtr value_table;
+ }
+
+ [StructLayout (LayoutKind.Sequential) ]
+ struct GTypeQuery {
+ public IntPtr type;
+ public IntPtr type_name;
+ public uint class_size;
+ public uint instance_size;
+ }
+
+
+ [DllImport ("libgobject-2.0-0.dll") ]
+ static extern void g_type_query (IntPtr type, out GTypeQuery query);
+
+ [DllImport ("libgobject-2.0-0.dll") ]
+ static extern IntPtr g_type_register_static (IntPtr parent, IntPtr name, ref GTypeInfo info, int flags);
+
+ private static GType RegisterGType (System.Type t) {
+ GType parent_gtype = LookupGType (t.BaseType);
+ string name = BuildEscapedName (t);
+ IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+ GTypeQuery query;
+ g_type_query (parent_gtype.Val, out query);
+ GTypeInfo info = new GTypeInfo ();
+ info.class_size = (ushort) query.class_size;
+ info.instance_size = (ushort) query.instance_size;
+ GType gtype = new GType (g_type_register_static (parent_gtype.Val, native_name, ref info, 0));
+ GLib.Marshaller.Free (native_name);
+
+ GLib.GType.Register (gtype, t);
+
+ ConnectDefaultHandlers (gtype, t);
+ InvokeClassInitializers (gtype, t);
+ return gtype;
+ }
+
+ [DllImport ("glibsharpglue-2") ]
+ static extern IntPtr gtksharp_register_type (IntPtr name, IntPtr parent_type);
+
+ static Hashtable g_types = new Hashtable ();
+
+ protected GType LookupGType () {
+ if (Handle != IntPtr.Zero) {
+ GTypeInstance obj = (GTypeInstance) Marshal.PtrToStructure (Handle, typeof (GTypeInstance));
+ GTypeClass klass = (GTypeClass) Marshal.PtrToStructure (obj.g_class, typeof (GTypeClass));
+ return new GLib.GType (klass.gtype);
+ } else {
+ return LookupGType (GetType ());
+ }
+ }
+
+ protected internal static GType LookupGType (System.Type t) {
+ if (g_types.Contains (t))
+ return (GType) g_types [t];
+
+ System.Reflection.PropertyInfo pi = t.GetProperty ("GType", BindingFlags.DeclaredOnly | BindingFlags.Static | BindingFlags.Public);
+ if (pi != null)
+ return (GType) pi.GetValue (null, null);
+
+ return RegisterGType (t);
+ }
+
+ protected MiniObject (IntPtr raw) {
+ Raw = raw;
+ }
+
+ protected MiniObject () {
+ CreateNativeObject ();
+ }
+
+ [DllImport ("gstreamer-0.10.dll") ]
+ static extern IntPtr gst_mini_object_new (IntPtr gtype);
+
+ protected virtual void CreateNativeObject () {
+ Raw = gst_mini_object_new (LookupGType ().Val);
+ Objects [handle] = this;
+ }
+
+ protected virtual IntPtr Raw {
+ get {
+ return handle;
+ }
+ set {
+ if (handle != IntPtr.Zero)
+ Objects.Remove (handle);
+ handle = value;
+ if (value == IntPtr.Zero)
+ return;
+ Objects [value] = new WeakReference (this);
+ }
+ }
+
+ [DllImport ("gstreamer-0.10.dll") ]
+ static extern IntPtr gst_mini_object_get_type();
+
+ public static GLib.GType GType {
+ get {
+ IntPtr raw_ret = gst_mini_object_get_type();
+ GLib.GType ret = new GLib.GType (raw_ret);
+ return ret;
+ }
+ }
+
+ protected string TypeName {
+ get {
+ return NativeType.ToString();
+ }
+ }
+
+ internal GLib.GType NativeType {
+ get {
+ return LookupGType ();
+ }
+ }
+
+ public IntPtr Handle {
+ get {
+ return handle;
+ }
+ }
+
+ public IntPtr OwnedHandle {
+ get {
+ return gst_mini_object_ref (handle);
+ }
+ }
+
+ public override int GetHashCode () {
+ return Handle.GetHashCode ();
+ }
+
+ Hashtable data;
+ public Hashtable Data {
+ get {
+ if (data == null)
+ data = new Hashtable ();
+
+ return data;
+ }
+ }
+
+ Hashtable persistent_data;
+ protected Hashtable PersistentData {
+ get {
+ if (persistent_data == null)
+ persistent_data = new Hashtable ();
+
+ return persistent_data;
+ }
+ }
+
+ [DllImport ("libgobject-2.0-0.dll") ]
+ static extern bool g_type_check_instance_is_a (IntPtr obj, IntPtr gtype);
+
+ internal static bool IsMiniObject (IntPtr obj) {
+ return g_type_check_instance_is_a (obj, MiniObject.GType.Val);
+ }
+
+ internal int Refcount {
+ get {
+ GstMiniObject inst_struct = (GstMiniObject) Marshal.PtrToStructure (Handle, typeof (GstMiniObject));
+ return inst_struct.refcount;
+ }
+ }
+
+ public Gst.MiniObjectFlags Flags {
+ get {
+ GstMiniObject inst_struct = (GstMiniObject) Marshal.PtrToStructure (Handle, typeof (GstMiniObject));
+ return inst_struct.flags;
+ }
+ set {
+ GstMiniObject inst_struct = (GstMiniObject) Marshal.PtrToStructure (Handle, typeof (GstMiniObject));
+ inst_struct.flags = value;
+ }
+ }
+
+ [DllImport ("gstreamer-0.10.dll") ]
+ static extern bool gst_mini_object_is_writable (IntPtr raw);
+
+ public bool IsWritable {
+ get {
+ bool raw_ret = gst_mini_object_is_writable (Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+ }
+
+ [DllImport ("gstreamer-0.10.dll") ]
+ private static extern IntPtr gst_value_dup_mini_object (ref GLib.Value v);
+
+ public MiniObject (GLib.Value val) : base () {
+ Raw = gst_value_dup_mini_object (ref val);
+ }
+
+ [DllImport ("gstreamer-0.10.dll") ]
+ private static extern void gst_value_set_mini_object (ref GLib.Value v, IntPtr o);
+
+ public static explicit operator GLib.Value (MiniObject o) {
+ GLib.Value val = new GLib.Value (o.LookupGType ());
+
+ gst_value_set_mini_object (ref val, o.Handle);
+
+ return val;
+ }
+
+ public void SetGValue (ref GLib.Value val) {
+ gst_value_set_mini_object (ref val, Handle);
+ }
+
+ /* FIXME: This is not optimal */
+ public void MakeWritable() {
+ if (IsWritable)
+ return;
+
+ IntPtr old = Handle;
+ IntPtr copy = gst_mini_object_copy (Handle);
+ Raw = copy;
+ gst_mini_object_unref (old);
+ }
+
+ [DllImport ("gstreamer-0.10.dll") ]
+ static extern IntPtr gst_mini_object_copy (IntPtr raw);
+
+ public Gst.MiniObject Copy() {
+ IntPtr raw_ret = gst_mini_object_copy (Handle);
+ return GetObject (raw_ret, true);
+ }
+ }
+}
diff --git a/gstreamer-sharp/MiniObject.custom b/gstreamer-sharp/MiniObject.custom
deleted file mode 100644
index cded844..0000000
--- a/gstreamer-sharp/MiniObject.custom
+++ /dev/null
@@ -1,51 +0,0 @@
-protected MiniObject () : base ()
-{
-}
-
-public MiniObject (GLib.Value val) : base () {
- Raw = gst_value_dup_mini_object (ref val);
-}
-
-public static explicit operator GLib.Value (MiniObject o) {
- GLib.Value val = new GLib.Value (new GLib.GType (gstsharp_g_type_from_instance (o.Handle)));
-
- gst_value_set_mini_object (ref val, o.Handle);
-
- return val;
-}
-
-public void SetGValue (ref GLib.Value val) {
- gst_value_set_mini_object (ref val, Handle);
-}
-
-[DllImport ("gstreamersharpglue-0.10.dll") ]
-private static extern IntPtr gstsharp_g_type_from_instance (IntPtr o);
-[DllImport ("gstreamer-0.10.dll") ]
-private static extern IntPtr gst_value_dup_mini_object (ref GLib.Value v);
-[DllImport ("gstreamer-0.10.dll") ]
-private static extern void gst_value_set_mini_object (ref GLib.Value v, IntPtr o);
-
-/* FIXME: This is not optimal! */
-public void MakeWritable() {
- if (IsWritable)
- return;
-
- IntPtr copy = gst_mini_object_copy (Raw);
- Raw = copy;
- /* ^--- Takes a second ref, not good */
- Unref (Raw);
- /* ^--- Sets Owned = false, wrong! */
- Owned = true;
-}
-
-[DllImport ("gstreamer-0.10.dll") ]
-static extern IntPtr gst_mini_object_copy (IntPtr raw);
-
-public Gst.MiniObject Copy() {
- IntPtr raw_ret = gst_mini_object_copy (Handle);
- GLib.GType type = new GLib.GType (gstsharp_g_type_from_instance (raw_ret));
-
- Gst.MiniObject ret = raw_ret == IntPtr.Zero ? null : (Gst.MiniObject) GLib.Opaque.GetOpaque (raw_ret, (Type) type, true);
- return ret;
-}
-
diff --git a/gstreamer-sharp/MixerMessage.cs b/gstreamer-sharp/MixerMessage.cs
index 1f0b6d8..c6e1abf 100644
--- a/gstreamer-sharp/MixerMessage.cs
+++ b/gstreamer-sharp/MixerMessage.cs
@@ -1,81 +1,81 @@
namespace Gst.Interfaces {
- using System;
- using System.Runtime.InteropServices;
- using System.Reflection;
- using GLib;
- using Gst;
- using Gst.Interfaces;
+ using System;
+ using System.Runtime.InteropServices;
+ using System.Reflection;
+ using GLib;
+ using Gst;
+ using Gst.Interfaces;
- public static class MixerMessage {
- [DllImport("gstinterfaces-0.10.dll")]
- static extern int gst_mixer_message_get_type(IntPtr message);
+ public static class MixerMessage {
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern int gst_mixer_message_get_type (IntPtr message);
- public static Gst.Interfaces.MixerMessageType MessageGetType(Gst.Message message) {
- int raw_ret = gst_mixer_message_get_type(message == null ? IntPtr.Zero : message.Handle);
- Gst.Interfaces.MixerMessageType ret = (Gst.Interfaces.MixerMessageType) raw_ret;
- return ret;
- }
+ public static Gst.Interfaces.MixerMessageType MessageGetType (Gst.Message message) {
+ int raw_ret = gst_mixer_message_get_type (message == null ? IntPtr.Zero : message.Handle);
+ Gst.Interfaces.MixerMessageType ret = (Gst.Interfaces.MixerMessageType) raw_ret;
+ return ret;
+ }
- [DllImport("gstinterfaces-0.10.dll")]
- static extern void gst_mixer_message_parse_mute_toggled(IntPtr message, out IntPtr track, out bool mute);
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern void gst_mixer_message_parse_mute_toggled (IntPtr message, out IntPtr track, out bool mute);
- public static void ParseMuteToggled(Gst.Message message, out Gst.Interfaces.MixerTrack track, out bool mute) {
- IntPtr native_ptr;
+ public static void ParseMuteToggled (Gst.Message message, out Gst.Interfaces.MixerTrack track, out bool mute) {
+ IntPtr native_ptr;
- gst_mixer_message_parse_mute_toggled (message == null ? IntPtr.Zero : message.Handle, out native_ptr, out mute);
+ gst_mixer_message_parse_mute_toggled (message == null ? IntPtr.Zero : message.Handle, out native_ptr, out mute);
- track = (MixerTrack) GLib.Object.GetObject (native_ptr, false);
- }
+ track = (MixerTrack) GLib.Object.GetObject (native_ptr, false);
+ }
- [DllImport("gstinterfaces-0.10.dll")]
- static extern void gst_mixer_message_parse_option_changed(IntPtr message, out IntPtr options, out IntPtr value);
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern void gst_mixer_message_parse_option_changed (IntPtr message, out IntPtr options, out IntPtr value);
- public static void ParseOptionChanged(Gst.Message message, out Gst.Interfaces.MixerOptions options, out string value) {
- IntPtr native_value;
- IntPtr native_options;
+ public static void ParseOptionChanged (Gst.Message message, out Gst.Interfaces.MixerOptions options, out string value) {
+ IntPtr native_value;
+ IntPtr native_options;
- gst_mixer_message_parse_option_changed(message == null ? IntPtr.Zero : message.Handle, out native_options, out native_value);
+ gst_mixer_message_parse_option_changed (message == null ? IntPtr.Zero : message.Handle, out native_options, out native_value);
- options = (MixerOptions) GLib.Object.GetObject (native_options, false);
- value = GLib.Marshaller.Utf8PtrToString (native_value);
- }
+ options = (MixerOptions) GLib.Object.GetObject (native_options, false);
+ value = GLib.Marshaller.Utf8PtrToString (native_value);
+ }
- [DllImport("gstinterfaces-0.10.dll")]
- static extern void gst_mixer_message_parse_record_toggled(IntPtr message, out IntPtr track, out bool record);
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern void gst_mixer_message_parse_record_toggled (IntPtr message, out IntPtr track, out bool record);
- public static void ParseRecordToggled(Gst.Message message, out Gst.Interfaces.MixerTrack track, out bool record) {
- IntPtr native_ptr;
+ public static void ParseRecordToggled (Gst.Message message, out Gst.Interfaces.MixerTrack track, out bool record) {
+ IntPtr native_ptr;
- gst_mixer_message_parse_record_toggled(message == null ? IntPtr.Zero : message.Handle, out native_ptr, out record);
- track = (MixerTrack) GLib.Object.GetObject (native_ptr, false);
- }
+ gst_mixer_message_parse_record_toggled (message == null ? IntPtr.Zero : message.Handle, out native_ptr, out record);
+ track = (MixerTrack) GLib.Object.GetObject (native_ptr, false);
+ }
- [DllImport("gstinterfaces-0.10.dll")]
- static extern void gst_mixer_message_parse_volume_changed(IntPtr message, out IntPtr track, out IntPtr volumes, out int num_channels);
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern void gst_mixer_message_parse_volume_changed (IntPtr message, out IntPtr track, out IntPtr volumes, out int num_channels);
- public static void ParseVolumeChanged(Gst.Message message, out Gst.Interfaces.MixerTrack track, out int[] volumes) {
- IntPtr native_track;
- IntPtr native_volumes;
- int n_native_volumes;
+ public static void ParseVolumeChanged (Gst.Message message, out Gst.Interfaces.MixerTrack track, out int[] volumes) {
+ IntPtr native_track;
+ IntPtr native_volumes;
+ int n_native_volumes;
- gst_mixer_message_parse_volume_changed(message == null ? IntPtr.Zero : message.Handle, out native_track, out native_volumes, out n_native_volumes);
+ gst_mixer_message_parse_volume_changed (message == null ? IntPtr.Zero : message.Handle, out native_track, out native_volumes, out n_native_volumes);
- track = (MixerTrack) GLib.Object.GetObject (native_track, false);
- volumes = new int[n_native_volumes];
- for (int i = 0; i < n_native_volumes; i++)
- volumes[i] = Marshal.ReadInt32 (native_volumes, i * 4);
- GLib.Marshaller.Free (native_volumes);
- }
+ track = (MixerTrack) GLib.Object.GetObject (native_track, false);
+ volumes = new int[n_native_volumes];
+ for (int i = 0; i < n_native_volumes; i++)
+ volumes[i] = Marshal.ReadInt32 (native_volumes, i * 4);
+ GLib.Marshaller.Free (native_volumes);
+ }
- [DllImport("gstinterfaces-0.10.dll")]
- static extern void gst_mixer_message_parse_options_list_changed(IntPtr message, out IntPtr options);
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern void gst_mixer_message_parse_options_list_changed (IntPtr message, out IntPtr options);
- public static void ParseOptionsListChanged(Gst.Message message, out Gst.Interfaces.MixerOptions options) {
- IntPtr native_options;
+ public static void ParseOptionsListChanged (Gst.Message message, out Gst.Interfaces.MixerOptions options) {
+ IntPtr native_options;
- gst_mixer_message_parse_options_list_changed(message == null ? IntPtr.Zero : message.Handle, out native_options);
- options = (MixerOptions) GLib.Object.GetObject (native_options, false);
- }
- }
+ gst_mixer_message_parse_options_list_changed (message == null ? IntPtr.Zero : message.Handle, out native_options);
+ options = (MixerOptions) GLib.Object.GetObject (native_options, false);
+ }
+ }
}
diff --git a/gstreamer-sharp/NavigationEvent.cs b/gstreamer-sharp/NavigationEvent.cs
index 2405bfe..56b34d2 100644
--- a/gstreamer-sharp/NavigationEvent.cs
+++ b/gstreamer-sharp/NavigationEvent.cs
@@ -1,59 +1,59 @@
namespace Gst.Interfaces {
- using System;
- using System.Runtime.InteropServices;
- using System.Reflection;
- using GLib;
- using Gst;
- using Gst.Interfaces;
+ using System;
+ using System.Runtime.InteropServices;
+ using System.Reflection;
+ using GLib;
+ using Gst;
+ using Gst.Interfaces;
- public static class NavigationEvent {
- [DllImport("gstinterfaces-0.10.dll")]
- static extern int gst_navigation_event_get_type(IntPtr evnt);
+ public static class NavigationEvent {
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern int gst_navigation_event_get_type (IntPtr evnt);
- public static Gst.Interfaces.NavigationEventType EventGetType(Gst.Event evnt) {
- int raw_ret = gst_navigation_event_get_type(evnt == null ? IntPtr.Zero : evnt.Handle);
- Gst.Interfaces.NavigationEventType ret = (Gst.Interfaces.NavigationEventType) raw_ret;
- return ret;
- }
+ public static Gst.Interfaces.NavigationEventType EventGetType (Gst.Event evnt) {
+ int raw_ret = gst_navigation_event_get_type (evnt == null ? IntPtr.Zero : evnt.Handle);
+ Gst.Interfaces.NavigationEventType ret = (Gst.Interfaces.NavigationEventType) raw_ret;
+ return ret;
+ }
- [DllImport("gstinterfaces-0.10.dll")]
- static extern bool gst_navigation_event_parse_key_event (IntPtr evnt, out IntPtr key);
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern bool gst_navigation_event_parse_key_event (IntPtr evnt, out IntPtr key);
- public static bool ParseKeyEvent (Gst.Event evnt, out string key) {
- IntPtr raw_key;
- bool ret = gst_navigation_event_parse_key_event (evnt.Handle, out raw_key);
+ public static bool ParseKeyEvent (Gst.Event evnt, out string key) {
+ IntPtr raw_key;
+ bool ret = gst_navigation_event_parse_key_event (evnt.Handle, out raw_key);
- key = GLib.Marshaller.Utf8PtrToString (raw_key);
+ key = GLib.Marshaller.Utf8PtrToString (raw_key);
- return ret;
- }
+ return ret;
+ }
- [DllImport("gstinterfaces-0.10.dll")]
- static extern bool gst_navigation_event_parse_mouse_button_event (IntPtr evnt, out int button, out double x, out double y);
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern bool gst_navigation_event_parse_mouse_button_event (IntPtr evnt, out int button, out double x, out double y);
- public static bool ParseMouseButtonEvent (Gst.Event evnt, out int button, out double x, out double y) {
- return gst_navigation_event_parse_mouse_button_event (evnt.Handle, out button, out x, out y);
- }
+ public static bool ParseMouseButtonEvent (Gst.Event evnt, out int button, out double x, out double y) {
+ return gst_navigation_event_parse_mouse_button_event (evnt.Handle, out button, out x, out y);
+ }
- [DllImport("gstinterfaces-0.10.dll")]
- static extern bool gst_navigation_event_parse_mouse_move_event (IntPtr evnt, out double x, out double y);
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern bool gst_navigation_event_parse_mouse_move_event (IntPtr evnt, out double x, out double y);
- public static bool ParseMouseMoveEvent (Gst.Event evnt, out double x, out double y) {
- return gst_navigation_event_parse_mouse_move_event (evnt.Handle, out x, out y);
- }
+ public static bool ParseMouseMoveEvent (Gst.Event evnt, out double x, out double y) {
+ return gst_navigation_event_parse_mouse_move_event (evnt.Handle, out x, out y);
+ }
- [DllImport("gstinterfaces-0.10.dll")]
- static extern bool gst_navigation_event_parse_command (IntPtr evnt, out int command);
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern bool gst_navigation_event_parse_command (IntPtr evnt, out int command);
- public static bool ParseCommand (Gst.Event evnt, out Gst.Interfaces.NavigationCommand command) {
- int raw_command;
- bool ret = gst_navigation_event_parse_command (evnt.Handle, out raw_command);
-
- command = (Gst.Interfaces.NavigationCommand) raw_command;
+ public static bool ParseCommand (Gst.Event evnt, out Gst.Interfaces.NavigationCommand command) {
+ int raw_command;
+ bool ret = gst_navigation_event_parse_command (evnt.Handle, out raw_command);
- return ret;
- }
+ command = (Gst.Interfaces.NavigationCommand) raw_command;
- }
+ return ret;
+ }
+
+ }
}
diff --git a/gstreamer-sharp/NavigationMessage.cs b/gstreamer-sharp/NavigationMessage.cs
index f1f2e55..849526b 100644
--- a/gstreamer-sharp/NavigationMessage.cs
+++ b/gstreamer-sharp/NavigationMessage.cs
@@ -1,58 +1,58 @@
namespace Gst.Interfaces {
- using System;
- using System.Runtime.InteropServices;
- using System.Reflection;
- using GLib;
- using Gst;
- using Gst.Interfaces;
-
- public static class NavigationMessage {
- [DllImport("gstinterfaces-0.10.dll")]
- static extern int gst_navigation_message_get_type(IntPtr message);
-
- public static Gst.Interfaces.NavigationMessageType MessageGetType(Gst.Message message) {
- int raw_ret = gst_navigation_message_get_type(message == null ? IntPtr.Zero : message.Handle);
- Gst.Interfaces.NavigationMessageType ret = (Gst.Interfaces.NavigationMessageType) raw_ret;
- return ret;
- }
-
- [DllImport("gstinterfaces-0.10.dll")]
- static extern IntPtr gst_navigation_message_new_mouse_over (IntPtr src, bool active);
-
- public static Gst.Message NewMouseOver (Gst.Object src, bool active) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_navigation_message_new_mouse_over (src.Handle, active), typeof (Message), true);
- return msg;
- }
-
- [DllImport("gstinterfaces-0.10.dll")]
- static extern bool gst_navigation_message_parse_mouse_over (IntPtr msg, out bool active);
-
- public static bool ParseMouseOver (Gst.Message msg, out bool active) {
- return gst_navigation_message_parse_mouse_over (msg.Handle, out active);
- }
-
- [DllImport("gstinterfaces-0.10.dll")]
- static extern IntPtr gst_navigation_message_new_angles_changed (IntPtr src, uint cur_angle, uint n_angles);
-
- public static Gst.Message NewAnglesChanged (Gst.Object src, uint cur_angle, uint n_angles) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_navigation_message_new_angles_changed (src.Handle, cur_angle, n_angles), typeof (Message), true);
- return msg;
- }
-
- [DllImport("gstinterfaces-0.10.dll")]
- static extern bool gst_navigation_message_parse_angles_changed (IntPtr msg, out uint cur_angle, out uint n_angles);
-
- public static bool ParseMouseOver (Gst.Message msg, out uint cur_angle, out uint n_angles) {
- return gst_navigation_message_parse_angles_changed (msg.Handle, out cur_angle, out n_angles);
- }
-
- [DllImport("gstinterfaces-0.10.dll")]
- static extern IntPtr gst_navigation_message_new_commands_changed (IntPtr src);
-
- public static Gst.Message NewCommandsChanged (Gst.Object src) {
- Message msg = (Message) GLib.Opaque.GetOpaque (gst_navigation_message_new_commands_changed (src.Handle), typeof (Message), true);
- return msg;
- }
- }
+ using System;
+ using System.Runtime.InteropServices;
+ using System.Reflection;
+ using GLib;
+ using Gst;
+ using Gst.Interfaces;
+
+ public static class NavigationMessage {
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern int gst_navigation_message_get_type (IntPtr message);
+
+ public static Gst.Interfaces.NavigationMessageType MessageGetType (Gst.Message message) {
+ int raw_ret = gst_navigation_message_get_type (message == null ? IntPtr.Zero : message.Handle);
+ Gst.Interfaces.NavigationMessageType ret = (Gst.Interfaces.NavigationMessageType) raw_ret;
+ return ret;
+ }
+
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern IntPtr gst_navigation_message_new_mouse_over (IntPtr src, bool active);
+
+ public static Gst.Message NewMouseOver (Gst.Object src, bool active) {
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_navigation_message_new_mouse_over (src.Handle, active), true);
+ return msg;
+ }
+
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern bool gst_navigation_message_parse_mouse_over (IntPtr msg, out bool active);
+
+ public static bool ParseMouseOver (Gst.Message msg, out bool active) {
+ return gst_navigation_message_parse_mouse_over (msg.Handle, out active);
+ }
+
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern IntPtr gst_navigation_message_new_angles_changed (IntPtr src, uint cur_angle, uint n_angles);
+
+ public static Gst.Message NewAnglesChanged (Gst.Object src, uint cur_angle, uint n_angles) {
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_navigation_message_new_angles_changed (src.Handle, cur_angle, n_angles), true);
+ return msg;
+ }
+
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern bool gst_navigation_message_parse_angles_changed (IntPtr msg, out uint cur_angle, out uint n_angles);
+
+ public static bool ParseMouseOver (Gst.Message msg, out uint cur_angle, out uint n_angles) {
+ return gst_navigation_message_parse_angles_changed (msg.Handle, out cur_angle, out n_angles);
+ }
+
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern IntPtr gst_navigation_message_new_commands_changed (IntPtr src);
+
+ public static Gst.Message NewCommandsChanged (Gst.Object src) {
+ Message msg = (Message) Gst.MiniObject.GetObject (gst_navigation_message_new_commands_changed (src.Handle), true);
+ return msg;
+ }
+ }
}
diff --git a/gstreamer-sharp/NavigationQuery.cs b/gstreamer-sharp/NavigationQuery.cs
index 13dcb29..ce05a3f 100644
--- a/gstreamer-sharp/NavigationQuery.cs
+++ b/gstreamer-sharp/NavigationQuery.cs
@@ -1,92 +1,92 @@
namespace Gst.Interfaces {
- using System;
- using System.Runtime.InteropServices;
- using System.Reflection;
- using GLib;
- using Gst;
- using Gst.Interfaces;
+ using System;
+ using System.Runtime.InteropServices;
+ using System.Reflection;
+ using GLib;
+ using Gst;
+ using Gst.Interfaces;
- public static class NavigationQuery {
- [DllImport("gstinterfaces-0.10.dll")]
- static extern int gst_navigation_query_get_type(IntPtr query);
+ public static class NavigationQuery {
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern int gst_navigation_query_get_type (IntPtr query);
- public static Gst.Interfaces.NavigationQueryType QueryGetType(Gst.Query query) {
- int raw_ret = gst_navigation_query_get_type(query == null ? IntPtr.Zero : query.Handle);
- Gst.Interfaces.NavigationQueryType ret = (Gst.Interfaces.NavigationQueryType) raw_ret;
- return ret;
- }
+ public static Gst.Interfaces.NavigationQueryType QueryGetType (Gst.Query query) {
+ int raw_ret = gst_navigation_query_get_type (query == null ? IntPtr.Zero : query.Handle);
+ Gst.Interfaces.NavigationQueryType ret = (Gst.Interfaces.NavigationQueryType) raw_ret;
+ return ret;
+ }
- [DllImport("gstinterfaces-0.10.dll")]
- static extern IntPtr gst_navigation_query_new_commands ();
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern IntPtr gst_navigation_query_new_commands ();
- public static Gst.Query NewCommands () {
- Gst.Query query = (Gst.Query) GLib.Opaque.GetOpaque (gst_navigation_query_new_commands (), typeof (Gst.Query), true);
- return query;
- }
+ public static Gst.Query NewCommands () {
+ Gst.Query query = (Gst.Query) Gst.MiniObject.GetObject (gst_navigation_query_new_commands (), true);
+ return query;
+ }
- [DllImport("gstinterfaces-0.10.dll")]
- static extern void gst_navigation_query_set_commandsv (IntPtr query, uint n_commands, int[] cmds);
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern void gst_navigation_query_set_commandsv (IntPtr query, uint n_commands, int[] cmds);
- public static void SetCommands (Gst.Query query, Gst.Interfaces.NavigationCommand[] cmds) {
- if (!query.IsWritable)
- throw new ApplicationException ();
+ public static void SetCommands (Gst.Query query, Gst.Interfaces.NavigationCommand[] cmds) {
+ if (!query.IsWritable)
+ throw new ApplicationException ();
- int[] raw_cmds = new int[cmds.Length];
- for (int i = 0; i < cmds.Length; i++)
- raw_cmds[i] = (int) cmds[i];
+ int[] raw_cmds = new int[cmds.Length];
+ for (int i = 0; i < cmds.Length; i++)
+ raw_cmds[i] = (int) cmds[i];
- gst_navigation_query_set_commandsv (query.Handle, (uint) raw_cmds.Length, raw_cmds);
- }
+ gst_navigation_query_set_commandsv (query.Handle, (uint) raw_cmds.Length, raw_cmds);
+ }
- [DllImport("gstinterfaces-0.10.dll")]
- static extern bool gst_navigation_query_parse_commands_length (IntPtr query, out uint n_commands);
- [DllImport("gstinterfaces-0.10.dll")]
- static extern bool gst_navigation_query_parse_commands_nth (IntPtr query, uint nth, out int cmd);
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern bool gst_navigation_query_parse_commands_length (IntPtr query, out uint n_commands);
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern bool gst_navigation_query_parse_commands_nth (IntPtr query, uint nth, out int cmd);
- public static bool ParseCommands (Gst.Query query, out Gst.Interfaces.NavigationCommand[] cmds) {
- uint len;
+ public static bool ParseCommands (Gst.Query query, out Gst.Interfaces.NavigationCommand[] cmds) {
+ uint len;
- cmds = null;
- if (!gst_navigation_query_parse_commands_length (query.Handle, out len))
- return false;
+ cmds = null;
+ if (!gst_navigation_query_parse_commands_length (query.Handle, out len))
+ return false;
- cmds = new Gst.Interfaces.NavigationCommand[len];
+ cmds = new Gst.Interfaces.NavigationCommand[len];
- for (uint i = 0; i < len; i++) {
- int cmd;
+ for (uint i = 0; i < len; i++) {
+ int cmd;
- if (!gst_navigation_query_parse_commands_nth (query.Handle, i, out cmd))
- return false;
- cmds[i] = (Gst.Interfaces.NavigationCommand) cmd;
- }
+ if (!gst_navigation_query_parse_commands_nth (query.Handle, i, out cmd))
+ return false;
+ cmds[i] = (Gst.Interfaces.NavigationCommand) cmd;
+ }
- return true;
- }
+ return true;
+ }
- [DllImport("gstinterfaces-0.10.dll")]
- static extern IntPtr gst_navigation_query_new_angles ();
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern IntPtr gst_navigation_query_new_angles ();
- public static Gst.Query NewAngles () {
- Gst.Query query = (Gst.Query) GLib.Opaque.GetOpaque (gst_navigation_query_new_angles (), typeof (Gst.Query), true);
- return query;
- }
+ public static Gst.Query NewAngles () {
+ Gst.Query query = (Gst.Query) Gst.MiniObject.GetObject (gst_navigation_query_new_angles (), true);
+ return query;
+ }
- [DllImport("gstinterfaces-0.10.dll")]
- static extern void gst_navigation_query_set_angles (IntPtr query, uint cur_angle, uint n_angles);
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern void gst_navigation_query_set_angles (IntPtr query, uint cur_angle, uint n_angles);
- public static void SetAngles (Gst.Query query, uint cur_angle, uint n_angles) {
- if (!query.IsWritable)
- throw new ApplicationException ();
+ public static void SetAngles (Gst.Query query, uint cur_angle, uint n_angles) {
+ if (!query.IsWritable)
+ throw new ApplicationException ();
- gst_navigation_query_set_angles (query.Handle, cur_angle, n_angles);
- }
+ gst_navigation_query_set_angles (query.Handle, cur_angle, n_angles);
+ }
- [DllImport("gstinterfaces-0.10.dll")]
- static extern bool gst_navigation_query_parse_angles (IntPtr query, out uint cur_angle, out uint n_angles);
+ [DllImport ("gstinterfaces-0.10.dll") ]
+ static extern bool gst_navigation_query_parse_angles (IntPtr query, out uint cur_angle, out uint n_angles);
- public static bool ParseAngles (Gst.Query query, out uint cur_angle, out uint n_angles) {
- return gst_navigation_query_parse_angles (query.Handle, out cur_angle, out n_angles);
- }
- }
+ public static bool ParseAngles (Gst.Query query, out uint cur_angle, out uint n_angles) {
+ return gst_navigation_query_parse_angles (query.Handle, out cur_angle, out n_angles);
+ }
+ }
}
diff --git a/gstreamer-sharp/Pad.custom b/gstreamer-sharp/Pad.custom
index b0e36a4..71b0e41 100644
--- a/gstreamer-sharp/Pad.custom
+++ b/gstreamer-sharp/Pad.custom
@@ -39,7 +39,7 @@ public Gst.FlowReturn AllocBuffer (ulong offset, int size, Gst.Caps caps, out Gs
IntPtr native_buf;
int raw_ret = gst_pad_alloc_buffer (Handle, offset, size, caps == null ? IntPtr.Zero : caps.Handle, out native_buf);
Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
- buf = native_buf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_buf, typeof (Gst.Buffer), true);
+ buf = native_buf == IntPtr.Zero ? null : (Gst.Buffer) Gst.MiniObject.GetObject (native_buf, true);
return ret;
}
@@ -50,7 +50,7 @@ public Gst.FlowReturn AllocBufferAndSetCaps (ulong offset, int size, Gst.Caps ca
IntPtr native_buf;
int raw_ret = gst_pad_alloc_buffer_and_set_caps (Handle, offset, size, caps == null ? IntPtr.Zero : caps.Handle, out native_buf);
Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
- buf = native_buf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_buf, typeof (Gst.Buffer), true);
+ buf = native_buf == IntPtr.Zero ? null : (Gst.Buffer) Gst.MiniObject.GetObject (native_buf, true);
return ret;
}
@@ -277,7 +277,7 @@ public Gst.FlowReturn PullRange (ulong offset, uint size, out Gst.Buffer buffer)
IntPtr native_buffer;
int raw_ret = gst_pad_pull_range (Handle, offset, size, out native_buffer);
Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
- buffer = native_buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_buffer, typeof (Gst.Buffer), true);
+ buffer = native_buffer == IntPtr.Zero ? null : (Gst.Buffer) Gst.MiniObject.GetObject (native_buffer, true);
return ret;
}
diff --git a/gstreamer-sharp/Query.custom b/gstreamer-sharp/Query.custom
index 5f21ef4..c7dda85 100644
--- a/gstreamer-sharp/Query.custom
+++ b/gstreamer-sharp/Query.custom
@@ -34,7 +34,7 @@ public string TypeName {
static extern IntPtr gst_query_new_application (QueryType type, IntPtr structure);
public static Query NewApplication (Gst.QueryType type, Structure structure) {
- Query query = (Query) GLib.Opaque.GetOpaque (gst_query_new_application (type, (structure != null) ? structure.Handle : IntPtr.Zero), typeof (Query), true);
+ Query query = (Query) Gst.MiniObject.GetObject (gst_query_new_application (type, (structure != null) ? structure.Handle : IntPtr.Zero), true);
query.cached_structure = structure;
structure.FreeNative = false;
@@ -45,7 +45,7 @@ public static Query NewApplication (Gst.QueryType type, Structure structure) {
static extern IntPtr gst_query_new_convert (Gst.Format src_format, long value, Gst.Format dest_format);
public static Query NewConvert (Gst.Format src_format, long value, Gst.Format dest_format) {
- Query query = (Query) GLib.Opaque.GetOpaque (gst_query_new_convert (src_format, value, dest_format), typeof (Query), true);
+ Query query = (Query) Gst.MiniObject.GetObject (gst_query_new_convert (src_format, value, dest_format), true);
return query;
}
@@ -76,7 +76,7 @@ public void ParseConvert (out Gst.Format src_format, out long src_value, out Gst
static extern IntPtr gst_query_new_position (Gst.Format format);
public static Query NewPosition (Gst.Format format) {
- Query query = (Query) GLib.Opaque.GetOpaque (gst_query_new_position (format), typeof (Query), true);
+ Query query = (Query) Gst.MiniObject.GetObject (gst_query_new_position (format), true);
return query;
}
@@ -107,7 +107,7 @@ public void ParsePosition (out Gst.Format format, out long cur) {
static extern IntPtr gst_query_new_duration (Gst.Format format);
public static Query NewDuration (Gst.Format format) {
- Query query = (Query) GLib.Opaque.GetOpaque (gst_query_new_duration (format), typeof (Query), true);
+ Query query = (Query) Gst.MiniObject.GetObject (gst_query_new_duration (format), true);
return query;
}
@@ -138,7 +138,7 @@ public void ParseDuration (out Gst.Format format, out long duration) {
static extern IntPtr gst_query_new_latency ();
public static Query NewLatency() {
- Query query = (Query) GLib.Opaque.GetOpaque (gst_query_new_latency (), typeof (Query), true);
+ Query query = (Query) Gst.MiniObject.GetObject (gst_query_new_latency (), true);
return query;
}
@@ -169,7 +169,7 @@ public void ParseLatency (out bool live, out ulong min, out ulong max) {
static extern IntPtr gst_query_new_seeking (Gst.Format format);
public static Query NewSeeking (Gst.Format format) {
- Query query = (Query) GLib.Opaque.GetOpaque (gst_query_new_seeking (format), typeof (Query), true);
+ Query query = (Query) Gst.MiniObject.GetObject (gst_query_new_seeking (format), true);
return query;
}
@@ -200,7 +200,7 @@ public void ParseSeeking (out Gst.Format format, out bool seekable, out long seg
static extern IntPtr gst_query_new_formats ();
public static Query NewFormats() {
- Query query = (Query) GLib.Opaque.GetOpaque (gst_query_new_formats (), typeof (Query), true);
+ Query query = (Query) Gst.MiniObject.GetObject (gst_query_new_formats (), true);
return query;
}
@@ -238,7 +238,7 @@ public void ParseFormats (out Gst.Format[] formats) {
static extern IntPtr gst_query_new_segment (Gst.Format format);
public static Query NewSegment (Gst.Format format) {
- Query query = (Query) GLib.Opaque.GetOpaque (gst_query_new_segment (format), typeof (Query), true);
+ Query query = (Query) Gst.MiniObject.GetObject (gst_query_new_segment (format), true);
return query;
}
@@ -269,7 +269,7 @@ public void ParseSegment (out double rate, out Gst.Format format, out long segme
static extern IntPtr gst_query_new_buffering (Gst.Format format);
public static Query NewBuffering (Gst.Format format) {
- Query query = (Query) GLib.Opaque.GetOpaque (gst_query_new_buffering (format), typeof (Query), true);
+ Query query = (Query) Gst.MiniObject.GetObject (gst_query_new_buffering (format), true);
return query;
}
@@ -344,7 +344,7 @@ public void ParseBufferingRange (out Gst.Format format, out long start, out long
static extern IntPtr gst_query_new_uri ();
public static Query NewUri() {
- Query query = (Query) GLib.Opaque.GetOpaque (gst_query_new_uri (), typeof (Query), true);
+ Query query = (Query) Gst.MiniObject.GetObject (gst_query_new_uri (), true);
return query;
}
diff --git a/gstreamer-sharp/TunerNorm.custom b/gstreamer-sharp/TunerNorm.custom
index 59ed734..ccde7a2 100644
--- a/gstreamer-sharp/TunerNorm.custom
+++ b/gstreamer-sharp/TunerNorm.custom
@@ -1,28 +1,28 @@
- [DllImport ("gstreamersharpglue-0.10")]
- extern static uint gst__interfacessharp_gst__interfaces_tunernorm_get_framerate_offset ();
+[DllImport ("gstreamersharpglue-0.10") ]
+extern static uint gst__interfacessharp_gst__interfaces_tunernorm_get_framerate_offset ();
- static uint framerate_offset = gst__interfacessharp_gst__interfaces_tunernorm_get_framerate_offset ();
- public Gst.Fraction Framerate {
- get {
- unsafe {
- IntPtr raw_ptr = (IntPtr)(((byte*)Handle) + framerate_offset);
- GLib.Value v = (GLib.Value) Marshal.PtrToStructure (raw_ptr, typeof (GLib.Value));
- return (Gst.Fraction) v.Val;
- }
- }
- }
+static uint framerate_offset = gst__interfacessharp_gst__interfaces_tunernorm_get_framerate_offset ();
+public Gst.Fraction Framerate {
+ get {
+ unsafe {
+ IntPtr raw_ptr = (IntPtr) ( ( (byte*) Handle) + framerate_offset);
+ GLib.Value v = (GLib.Value) Marshal.PtrToStructure (raw_ptr, typeof (GLib.Value));
+ return (Gst.Fraction) v.Val;
+ }
+ }
+}
- [DllImport ("gstreamer-0.10.dll") ]
- private static extern void gst_value_set_fraction (IntPtr v, int numerator, int denominator);
+[DllImport ("gstreamer-0.10.dll") ]
+private static extern void gst_value_set_fraction (IntPtr v, int numerator, int denominator);
- public TunerNorm (string label, Gst.Fraction framerate) {
- unsafe {
- IntPtr* raw_ptr = (IntPtr*) ( ( (byte*) Handle) + label_offset);
- *raw_ptr = GLib.Marshaller.StringToPtrGStrdup (label);
+public TunerNorm (string label, Gst.Fraction framerate) {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*) ( ( (byte*) Handle) + label_offset);
+ *raw_ptr = GLib.Marshaller.StringToPtrGStrdup (label);
- }
- unsafe {
- IntPtr raw_ptr = (IntPtr)(((byte*)Handle) + framerate_offset);
- gst_value_set_fraction (raw_ptr, framerate.Numerator, framerate.Denominator);
- }
- }
+ }
+ unsafe {
+ IntPtr raw_ptr = (IntPtr) ( ( (byte*) Handle) + framerate_offset);
+ gst_value_set_fraction (raw_ptr, framerate.Numerator, framerate.Denominator);
+ }
+}