diff --git a/gst/audio/gst_audio_meta.go b/gst/audio/gst_audio_meta.go new file mode 100644 index 0000000..d833402 --- /dev/null +++ b/gst/audio/gst_audio_meta.go @@ -0,0 +1,31 @@ +package audio + +/* +#include "gst.go.h" +*/ +import "C" + +import ( + "unsafe" + + "github.com/tinyzimmer/go-gst/gst" +) + +type AudioMeta struct { + ptr *C.GstAudioMeta +} + +func wrapMetaFull(ptr *C.GstAudioMeta) *AudioMeta { + meta := &AudioMeta{ptr} + return meta +} + +func BufferAddAudioMeta(buffer *gst.Buffer, info *Info, samples int64, offsets []int) *AudioMeta { + gSizeOffsets := C.gsize(unsafe.Sizeof(unsafe.Pointer(&offsets))) + return wrapMetaFull(C.gst_buffer_add_audio_meta( + (*C.GstBuffer)(unsafe.Pointer(buffer.Instance())), + info.ptr, + C.gsize(samples), + &gSizeOffsets, + )) +} diff --git a/gst/audio/pkg_config.go b/gst/audio/pkg_config.go index f86eee5..8b10d57 100644 --- a/gst/audio/pkg_config.go +++ b/gst/audio/pkg_config.go @@ -1,7 +1,7 @@ package audio /* -#cgo pkg-config: gstreamer-plugins-base-1.0 +#cgo pkg-config: gstreamer-plugins-base-1.0 gstreamer-audio-1.0 #cgo CFLAGS: -Wno-deprecated-declarations #cgo LDFLAGS: -lgstaudio-1.0 */ diff --git a/gst/video/pkg_config.go b/gst/video/pkg_config.go index 2e88a8d..41edc92 100644 --- a/gst/video/pkg_config.go +++ b/gst/video/pkg_config.go @@ -1,7 +1,7 @@ package video /* -#cgo pkg-config: gstreamer-plugins-base-1.0 +#cgo pkg-config: gstreamer-plugins-base-1.0 gstreamer-video-1.0 #cgo CFLAGS: -Wno-deprecated-declarations #cgo LDFLAGS: -lgstvideo-1.0 */