From 4c73c3cfbe5ab28b93251b84992a24459a15aada Mon Sep 17 00:00:00 2001 From: RSWilli Date: Mon, 25 Nov 2024 23:58:18 +0100 Subject: [PATCH] add support for retrieving tracers --- gst/gst_tracer.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 gst/gst_tracer.go diff --git a/gst/gst_tracer.go b/gst/gst_tracer.go new file mode 100644 index 0000000..7eab022 --- /dev/null +++ b/gst/gst_tracer.go @@ -0,0 +1,29 @@ +package gst + +// #include "gst.go.h" +import "C" +import ( + "unsafe" + + "github.com/go-gst/go-glib/glib" +) + +type Tracer struct { + *Object +} + +func TracingGetActiveTracers() []*Tracer { + cglist := C.gst_tracing_get_active_tracers() + + wrapped := glib.WrapList(unsafe.Pointer(cglist)) + defer wrapped.Free() + + out := make([]*Tracer, 0) + wrapped.Foreach(func(item interface{}) { + ctracer := item.(unsafe.Pointer) // item is a *C.GstTracer + out = append(out, &Tracer{ + Object: wrapObject(glib.Take(ctracer)), + }) + }) + return out +}