Skip to content

Commit

Permalink
add avformat_open_input_with_interrupt
Browse files Browse the repository at this point in the history
  • Loading branch information
Phuocpr1998 committed Dec 23, 2020
1 parent f3e7ac4 commit d128773
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions avformat/avformat.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ package avformat
//static int go_avformat_open_input(AVFormatContext *ps, const char *filename, AVInputFormat *fmt, AVDictionary **options) {
// return avformat_open_input(&ps, filename, fmt, options);
//}
//static int go_avformat_open_input_with_interrupt(AVFormatContext *ps, const char *filename, AVInputFormat *fmt, const AVIOInterruptData *interruptData, AVDictionary **options) {
// return avformat_open_input_with_interrupt(&ps, filename, fmt, interruptData, options);
//}
//static int go_avio_closep(void *pCtx) {
// return avio_closep((AVIOContext**)(&pCtx));
//}
Expand Down Expand Up @@ -942,6 +945,30 @@ func (ctx *Context) OpenInput(fileName string, input *Input, options *avutil.Dic
return nil
}

func (ctx *Context) OpenInputWithInterruptData(fileName string, input *Input, interruptData *IOInterruptData, options *avutil.Dictionary) error {
cFileName := C.CString(fileName)
defer C.free(unsafe.Pointer(cFileName))
var cInput *C.AVInputFormat
if input != nil {
cInput = input.CAVInputFormat
}
var cOptions **C.AVDictionary
if options != nil {
cOptions = (**C.AVDictionary)(options.Pointer())
}

var cAVIOInterruptData *C.AVIOInterruptData
if interruptData != nil {
cAVIOInterruptData = (*C.AVIOInterruptData)(unsafe.Pointer(interruptData.CAVIOInterruptData))
}

code := C.go_avformat_open_input_with_interrupt(ctx.FormatContext(), cFileName, cInput, cAVIOInterruptData, cOptions)
if code < 0 {
return avutil.NewErrorFromCode(avutil.ErrorCode(code))
}
return nil
}

func (ctx *Context) CloseInput() {
C.go_avformat_close_input(unsafe.Pointer(ctx.CAVFormatContext))
ctx.CAVFormatContext = 0
Expand Down

0 comments on commit d128773

Please sign in to comment.