From e4703fedc35eaed75f6a1a5ebcf6ef4c3e9f4262 Mon Sep 17 00:00:00 2001 From: firmwarecostum <145313986+firmwarecostum@users.noreply.github.com> Date: Mon, 7 Sep 2026 07:14:16 +0800 Subject: [PATCH] Update codec context and frame deallocation methods Replaced avcodec_close with avcodec_free_context for proper resource management. --- machinery/src/capture/gortsplib.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/machinery/src/capture/gortsplib.go b/machinery/src/capture/gortsplib.go index c078474..0c5b0e6 100644 --- a/machinery/src/capture/gortsplib.go +++ b/machinery/src/capture/gortsplib.go @@ -1527,13 +1527,13 @@ func newDecoder(codecName string) (*Decoder, error) { res := C.avcodec_open2(codecCtx, codec, nil) if res < 0 { - C.avcodec_close(codecCtx) + C.avcodec_free_context(&codecCtx) return nil, fmt.Errorf("avcodec_open2() failed") } srcFrame := C.av_frame_alloc() if srcFrame == nil { - C.avcodec_close(codecCtx) + C.avcodec_free_context(&codecCtx) return nil, fmt.Errorf("av_frame_alloc() failed") } @@ -1549,7 +1549,7 @@ func (d *Decoder) Close() { C.av_frame_free(&d.srcFrame) } C.av_frame_free(&d.srcFrame) - C.avcodec_close(d.codecCtx) + C.avcodec_free_context(&d.codecCtx) } func (d *Decoder) decode(nalu []byte) (image.YCbCr, error) {