From 3523ba76ae08193a14467a4cddf008f2bdc3f9ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Thu, 27 Feb 2025 14:44:11 +0000 Subject: [PATCH] csharp: fix GstAudioRingBuffer structure size and field offset mismatches .. which caused the gstreamer_sharp_abi unit test to fail. GstAudioRingBuffer has segdone and segbase as struct fields and a get/set API with the same name but different types. The fields have been deprecated and are no longer used now, and they need to be hidden and we also need to rename them so that the generator does not mix types (the setter/getters use guint64 but the fields have gint types, which caused some type confusion in the generator). Co-authored by: Andoni Morales Alastruey Part-of: --- .../generated/gst-editing-services-api.xml | 2 +- .../generated/Gst.Audio/AudioRingBuffer.cs | 60 +++++++++---------- .../sources/generated/gstreamer-sharp-api.xml | 4 +- .../sources/gstreamer-sharp.metadata | 8 +++ 4 files changed, 41 insertions(+), 33 deletions(-) diff --git a/subprojects/gstreamer-sharp/ges/generated/gst-editing-services-api.xml b/subprojects/gstreamer-sharp/ges/generated/gst-editing-services-api.xml index d08ca77077..39330b9d0e 100644 --- a/subprojects/gstreamer-sharp/ges/generated/gst-editing-services-api.xml +++ b/subprojects/gstreamer-sharp/ges/generated/gst-editing-services-api.xml @@ -4538,4 +4538,4 @@ - + \ No newline at end of file diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBuffer.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBuffer.cs index 116201c6fb..7335c634fb 100644 --- a/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBuffer.cs +++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBuffer.cs @@ -99,34 +99,6 @@ namespace Gst.Audio { } } - [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] - static extern ulong gst_audio_ring_buffer_get_segdone(IntPtr raw); - - [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] - static extern void gst_audio_ring_buffer_set_segdone(IntPtr raw, ulong segdone); - - public ulong Segdone { - get { - ulong raw_ret = gst_audio_ring_buffer_get_segdone(Handle); - ulong ret = raw_ret; - return ret; - } - set { - gst_audio_ring_buffer_set_segdone(Handle, value); - } - } - - [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] - static extern ulong gst_audio_ring_buffer_get_segbase(IntPtr raw); - - public ulong Segbase { - get { - ulong raw_ret = gst_audio_ring_buffer_get_segbase(Handle); - ulong ret = raw_ret; - return ret; - } - } - public int Waiting { get { unsafe { @@ -1076,6 +1048,34 @@ namespace Gst.Audio { return ret; } + [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern ulong gst_audio_ring_buffer_get_segbase(IntPtr raw); + + public ulong Segbase { + get { + ulong raw_ret = gst_audio_ring_buffer_get_segbase(Handle); + ulong ret = raw_ret; + return ret; + } + } + + [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern ulong gst_audio_ring_buffer_get_segdone(IntPtr raw); + + [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_audio_ring_buffer_set_segdone(IntPtr raw, ulong segdone); + + public ulong Segdone { + get { + ulong raw_ret = gst_audio_ring_buffer_get_segdone(Handle); + ulong ret = raw_ret; + return ret; + } + set { + gst_audio_ring_buffer_set_segdone(Handle, value); + } + } + [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern bool gst_audio_ring_buffer_is_acquired(IntPtr raw); @@ -1497,14 +1497,14 @@ namespace Gst.Audio { public struct GstAudioRingBuffer_segdoneAlign { sbyte f1; - private ulong segdone; + private int segdone; } [StructLayout(LayoutKind.Sequential)] public struct GstAudioRingBuffer_segbaseAlign { sbyte f1; - private ulong segbase; + private int segbase; } [StructLayout(LayoutKind.Sequential)] diff --git a/subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-api.xml b/subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-api.xml index 10254e2cc6..c5d5d8a1e8 100644 --- a/subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-api.xml +++ b/subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-api.xml @@ -16780,8 +16780,8 @@ - - +