Files
go-astiav/bit_stream_filter.go
Leandro Moreira d8844951c9 Add bit stream filter support (#61)
* add bit stream filter support

* bit stream filter is not a class

* add pr suggestions

* add tests for bit stream filter

* create a separated test helper method

* search for first h264 video stream

* add pr suggestions

* remove free since bsfc is taking ownership of it
2024-05-14 18:14:20 +02:00

36 lines
734 B
Go

package astiav
//#cgo pkg-config: libavcodec
//#include <libavcodec/bsf.h>
//#include <stdlib.h>
import "C"
import (
"unsafe"
)
// https://github.com/FFmpeg/FFmpeg/blob/release/5.1/libavcodec/bsf.h#L111
type BitStreamFilter struct {
c *C.struct_AVBitStreamFilter
}
func newBitStreamFilterFromC(c *C.struct_AVBitStreamFilter) *BitStreamFilter {
if c == nil {
return nil
}
return &BitStreamFilter{c: c}
}
func FindBitStreamFilterByName(n string) *BitStreamFilter {
cn := C.CString(n)
defer C.free(unsafe.Pointer(cn))
return newBitStreamFilterFromC(C.av_bsf_get_by_name(cn))
}
func (bsf *BitStreamFilter) Name() string {
return C.GoString(bsf.c.name)
}
func (bsf *BitStreamFilter) String() string {
return bsf.Name()
}