about summary refs log tree commit diff stats
path: root/src/tools
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-04-03 16:55:56 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-04-03 16:55:56 +0200
commit83e92d6298f3be3833b8cd844b97597d41e22265 (patch)
tree915d552816971d09797135d875e3b3ff1e6e5b54 /src/tools
parente080551d5452990f6fb8a85e4b7d88ae057cb4e6 (diff)
downloadbox64-83e92d6298f3be3833b8cd844b97597d41e22265.tar.gz
box64-83e92d6298f3be3833b8cd844b97597d41e22265.zip
Wrapped GstAudioFilter (for #1397)
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/gtkclass.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/tools/gtkclass.c b/src/tools/gtkclass.c
index 185b7326..34d1803f 100644
--- a/src/tools/gtkclass.c
+++ b/src/tools/gtkclass.c
@@ -4418,6 +4418,48 @@ static void bridgeGstVideoFilterInstance(my_GstVideoFilter_t* class)
 {
     bridgeGstBaseTransformInstance(&class->parent);
 }
+// ----- GstAudioFilterClass ------
+// wrapper x86 -> natives of callbacks
+WRAPPER(GstAudioFilter, setup, int, (void* filter, void* info), "pp", filter, info);
+
+#define SUPERGO()       \
+    GO(setup, iFpp);    \
+
+// wrap (so bridge all calls, just in case)
+static void wrapGstAudioFilterClass(my_GstAudioFilterClass_t* class)
+{
+    wrapGstBaseTransformClass(&class->parent_class);
+    #define GO(A, W) class->A = reverse_##A##_GstAudioFilter (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGstAudioFilterClass(my_GstAudioFilterClass_t* class)
+{
+    unwrapGstBaseTransformClass(&class->parent_class);
+    #define GO(A, W)   class->A = find_##A##_GstAudioFilter (class->A)
+    SUPERGO()
+    #undef GO
+}
+// autobridge
+static void bridgeGstAudioFilterClass(my_GstAudioFilterClass_t* class)
+{
+    bridgeGstBaseTransformClass(&class->parent_class);
+    #define GO(A, W) autobridge_##A##_GstAudioFilter (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+#undef SUPERGO
+
+static void unwrapGstAudioFilterInstance(my_GstAudioFilter_t* class)
+{
+    unwrapGstBaseTransformInstance(&class->parent);
+}
+// autobridge
+static void bridgeGstAudioFilterInstance(my_GstAudioFilter_t* class)
+{
+    bridgeGstBaseTransformInstance(&class->parent);
+}
 // ----- GDBusProxyClass ------
 // wrapper x86 -> natives of callbacks
 WRAPPER(GDBusProxy, g_properties_changed, void, (void* proxy, void* changed_properties, const char* const* invalidated_properties), "ppp", proxy, changed_properties, invalidated_properties);