1 Star 1 Fork 0

wulala乌啦啦 / hwpack

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
caps.go 1.01 KB
一键复制 编辑 原始数据 按行查看 历史
wulala乌啦啦 提交于 2021-09-29 17:43 . 增加gst的接口
package gst
/*
#cgo pkg-config: gstreamer-1.0
#include "gst.h"
*/
import "C"
import (
"runtime"
"unsafe"
)
type Caps struct {
caps *C.GstCaps
}
func CapsFromString(caps string) (gstCaps *Caps) {
c := (*C.gchar)(unsafe.Pointer(C.CString(caps)))
defer C.g_free(C.gpointer(unsafe.Pointer(c)))
CCaps := C.gst_caps_from_string(c)
gstCaps = &Caps{
caps: CCaps,
}
runtime.SetFinalizer(gstCaps, func(gstCaps *Caps) {
C.gst_caps_unref(gstCaps.caps)
})
return
}
func (c *Caps) ToString() (str string) {
CStr := C.gst_caps_to_string(c.caps)
defer C.g_free(C.gpointer(unsafe.Pointer(CStr)))
str = C.GoString((*C.char)(unsafe.Pointer(CStr)))
return
}
func (c *Caps) String() (str string) {
CStr := C.gst_caps_to_string(c.caps)
defer C.g_free(C.gpointer(unsafe.Pointer(CStr)))
str = C.GoString((*C.char)(unsafe.Pointer(CStr)))
return
}
func (c *Caps) GetStructure(index int) (structure *Structure) {
Cstructure := C.gst_caps_get_structure(c.caps, C.uint(index))
structure = &Structure{
C: Cstructure,
}
return
}
1
https://gitee.com/wulalade/hwpack.git
git@gitee.com:wulalade/hwpack.git
wulalade
hwpack
hwpack
d22efa2ac7c9

搜索帮助

53164aa7 5694891 3bd8fe86 5694891