csharp: Gst: update for miscellaneous other core additions in 1.28

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9620>
This commit is contained in:
Tim-Philipp Müller 2025-08-29 15:19:37 +01:00 committed by GStreamer Marge Bot
parent 803bde32dc
commit dd483d3e88
6 changed files with 98 additions and 13 deletions

View File

@ -296,6 +296,17 @@ namespace Gst {
gst_meta_api_type_set_params_aggregator(api.Val, aggregator_wrapper.NativeDelegate);
}
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
static extern bool gst_meta_api_type_tags_contain_only(IntPtr api, IntPtr valid_tags);
public static bool MetaApiTypeTagsContainOnly(GLib.GType api, string[] valid_tags) {
IntPtr native_valid_tags = GLib.Marshaller.StringArrayToStrvPtr(valid_tags, true);
bool raw_ret = gst_meta_api_type_tags_contain_only(api.Val, native_valid_tags);
bool ret = raw_ret;
GLib.Marshaller.StrFreeV (native_valid_tags);
return ret;
}
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
static extern IntPtr gst_meta_deserialize(IntPtr buffer, byte data, UIntPtr size, out uint consumed);

View File

@ -124,6 +124,17 @@ namespace Gst {
gst_meta_api_type_set_params_aggregator(api.Val, aggregator_wrapper.NativeDelegate);
}
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
static extern bool gst_meta_api_type_tags_contain_only(IntPtr api, IntPtr valid_tags);
public static bool ApiTypeTagsContainOnly(GLib.GType api, string[] valid_tags) {
IntPtr native_valid_tags = GLib.Marshaller.StringArrayToStrvPtr(valid_tags, true);
bool raw_ret = gst_meta_api_type_tags_contain_only(api.Val, native_valid_tags);
bool ret = raw_ret;
GLib.Marshaller.StrFreeV (native_valid_tags);
return ret;
}
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
static extern IntPtr gst_meta_deserialize(IntPtr buffer, byte data, UIntPtr size, out uint consumed);

View File

@ -24,6 +24,15 @@ namespace Gst {
}
public ulong Timestamp;
public ulong Duration;
private IntPtr _info;
public Gst.Structure Info {
get {
return _info == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (_info, typeof (Gst.Structure), false);
}
set {
_info = value == null ? IntPtr.Zero : value.Handle;
}
}
public static Gst.ReferenceTimestampMeta Zero = new Gst.ReferenceTimestampMeta ();
@ -33,20 +42,9 @@ namespace Gst {
return (Gst.ReferenceTimestampMeta) Marshal.PtrToStructure (raw, typeof (Gst.ReferenceTimestampMeta));
}
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
static extern IntPtr gst_reference_timestamp_meta_get_info();
public static Gst.MetaInfo Info {
get {
IntPtr raw_ret = gst_reference_timestamp_meta_get_info();
Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
return ret;
}
}
public bool Equals (ReferenceTimestampMeta other)
{
return true && Parent.Equals (other.Parent) && Reference.Equals (other.Reference) && Timestamp.Equals (other.Timestamp) && Duration.Equals (other.Duration);
return true && Parent.Equals (other.Parent) && Reference.Equals (other.Reference) && Timestamp.Equals (other.Timestamp) && Duration.Equals (other.Duration) && Info.Equals (other.Info);
}
public override bool Equals (object other)
@ -56,7 +54,7 @@ namespace Gst {
public override int GetHashCode ()
{
return this.GetType ().FullName.GetHashCode () ^ Parent.GetHashCode () ^ Reference.GetHashCode () ^ Timestamp.GetHashCode () ^ Duration.GetHashCode ();
return this.GetType ().FullName.GetHashCode () ^ Parent.GetHashCode () ^ Reference.GetHashCode () ^ Timestamp.GetHashCode () ^ Duration.GetHashCode () ^ Info.GetHashCode ();
}
private static GLib.GType GType {

View File

@ -211,6 +211,19 @@ namespace Gst {
return ret;
}
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
static extern bool gst_structure_get_caps(IntPtr raw, IntPtr fieldname, out IntPtr caps);
public bool GetCaps(string fieldname, out Gst.Caps caps) {
IntPtr native_fieldname = GLib.Marshaller.StringToPtrGStrdup (fieldname);
IntPtr native_caps;
bool raw_ret = gst_structure_get_caps(Handle, native_fieldname, out native_caps);
bool ret = raw_ret;
GLib.Marshaller.Free (native_fieldname);
caps = native_caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (native_caps, typeof (Gst.Caps), true);
return ret;
}
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
static extern bool gst_structure_get_clock_time(IntPtr raw, IntPtr fieldname, out ulong value);

View File

@ -9560,6 +9560,13 @@
<parameter scope="forever" name="aggregator" type="GstAllocationMetaParamsAggregator" />
</parameters>
</method>
<method name="ApiTypeTagsContainOnly" cname="gst_meta_api_type_tags_contain_only" shared="true" version="1.28">
<return-type type="gboolean" />
<parameters>
<parameter name="api" type="GType" />
<parameter name="valid_tags" type="const gchar**" array="true" null_term_array="true" element_type="gchar*" />
</parameters>
</method>
<method name="Deserialize" cname="gst_meta_deserialize" shared="true" version="1.24">
<return-type type="GstMeta*">
<warning>missing glib:type-name</warning>
@ -10637,6 +10644,9 @@
</field>
<field cname="timestamp" access="public" writeable="true" readable="true" is_callback="false" name="Timestamp" type="guint64" />
<field cname="duration" access="public" writeable="true" readable="true" is_callback="false" name="Duration" type="guint64" />
<field cname="info" access="public" writeable="true" readable="true" is_callback="false" name="Info" type="GstStructure*">
<warning>missing glib:type-name</warning>
</field>
<method name="GetInfo" cname="gst_reference_timestamp_meta_get_info" shared="true" version="1.14">
<return-type type="GstMetaInfo*">
<warning>missing glib:type-name</warning>
@ -11084,6 +11094,15 @@
<parameter name="value" type="gboolean*" owned="true" pass_as="out" />
</parameters>
</method>
<method name="GetCaps" cname="gst_structure_get_caps" version="1.28">
<return-type type="gboolean" />
<parameters>
<parameter name="fieldname" type="const-gchar*" />
<parameter name="caps" type="GstCaps**" owned="true" pass_as="out">
<warning>missing glib:type-name</warning>
</parameter>
</parameters>
</method>
<method name="GetClockTime" cname="gst_structure_get_clock_time">
<return-type type="gboolean" />
<parameters>
@ -12621,6 +12640,13 @@
<parameter scope="forever" name="aggregator" type="GstAllocationMetaParamsAggregator" />
</parameters>
</method>
<method name="MetaApiTypeTagsContainOnly" cname="gst_meta_api_type_tags_contain_only" shared="true" version="1.28">
<return-type type="gboolean" />
<parameters>
<parameter name="api" type="GType" />
<parameter name="valid_tags" type="const gchar**" array="true" null_term_array="true" element_type="gchar*" />
</parameters>
</method>
<method name="MetaDeserialize" cname="gst_meta_deserialize" shared="true" version="1.24">
<return-type type="GstMeta*">
<warning>missing glib:type-name</warning>

View File

@ -9552,6 +9552,13 @@
<parameter scope="forever" name="aggregator" type="GstAllocationMetaParamsAggregator"/>
</parameters>
</method>
<method name="ApiTypeTagsContainOnly" cname="gst_meta_api_type_tags_contain_only" shared="true" version="1.28">
<return-type type="gboolean"/>
<parameters>
<parameter name="api" type="GType"/>
<parameter name="valid_tags" type="const gchar**" array="true" null_term_array="true" element_type="gchar*"/>
</parameters>
</method>
<method name="Deserialize" cname="gst_meta_deserialize" shared="true" version="1.24">
<return-type type="GstMeta*">
<warning>missing glib:type-name</warning>
@ -10629,6 +10636,9 @@
</field>
<field cname="timestamp" access="public" writeable="true" readable="true" is_callback="false" name="Timestamp" type="guint64"/>
<field cname="duration" access="public" writeable="true" readable="true" is_callback="false" name="Duration" type="guint64"/>
<field cname="info" access="public" writeable="true" readable="true" is_callback="false" name="Info" type="GstStructure*">
<warning>missing glib:type-name</warning>
</field>
<method name="GetInfo" cname="gst_reference_timestamp_meta_get_info" shared="true" version="1.14">
<return-type type="GstMetaInfo*">
<warning>missing glib:type-name</warning>
@ -11076,6 +11086,15 @@
<parameter name="value" type="gboolean*" owned="true" pass_as="out"/>
</parameters>
</method>
<method name="GetCaps" cname="gst_structure_get_caps" version="1.28">
<return-type type="gboolean"/>
<parameters>
<parameter name="fieldname" type="const-gchar*"/>
<parameter name="caps" type="GstCaps**" owned="true" pass_as="out">
<warning>missing glib:type-name</warning>
</parameter>
</parameters>
</method>
<method name="GetClockTime" cname="gst_structure_get_clock_time">
<return-type type="gboolean"/>
<parameters>
@ -12933,6 +12952,13 @@
<parameter scope="forever" name="aggregator" type="GstAllocationMetaParamsAggregator"/>
</parameters>
</method>
<method name="MetaApiTypeTagsContainOnly" cname="gst_meta_api_type_tags_contain_only" shared="true" version="1.28">
<return-type type="gboolean"/>
<parameters>
<parameter name="api" type="GType"/>
<parameter name="valid_tags" type="const gchar**" array="true" null_term_array="true" element_type="gchar*"/>
</parameters>
</method>
<method name="MetaDeserialize" cname="gst_meta_deserialize" shared="true" version="1.24">
<return-type type="GstMeta*">
<warning>missing glib:type-name</warning>