mirror of
https://github.com/asticode/go-astiav.git
synced 2024-05-28 13:53:18 +08:00
33 lines
608 B
Go
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()
|
|
}
|