go-astiav/filter.go
2022-02-13 19:08:18 +01:00

33 lines
608 B
Go

package astiav
//#cgo pkg-config: libavfilter
//#include <libavfilter/avfilter.h>
import "C"
import "unsafe"
// https://github.com/FFmpeg/FFmpeg/blob/n5.0/libavfilter/avfilter.h#L165
type Filter struct {
c *C.struct_AVFilter
}
func newFilterFromC(c *C.struct_AVFilter) *Filter {
if c == nil {
return nil
}
return &Filter{c: c}
}
func FindFilterByName(n string) *Filter {
cn := C.CString(n)
defer C.free(unsafe.Pointer(cn))
return newFilterFromC(C.avfilter_get_by_name(cn))
}
func (f *Filter) Name() string {
return C.GoString(f.c.name)
}
func (f *Filter) String() string {
return f.Name()
}