diff options
Diffstat (limited to 'src/capture/xcomposite_vaapi.c')
-rw-r--r-- | src/capture/xcomposite_vaapi.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/capture/xcomposite_vaapi.c b/src/capture/xcomposite_vaapi.c index 570901b..a19956d 100644 --- a/src/capture/xcomposite_vaapi.c +++ b/src/capture/xcomposite_vaapi.c @@ -5,6 +5,7 @@ #include <stdio.h> #include <va/va.h> #include <va/va_drmcommon.h> +#include <libavcodec/avcodec.h> typedef struct { gsr_capture_xcomposite xcomposite; @@ -62,6 +63,12 @@ static void gsr_capture_xcomposite_vaapi_stop(gsr_capture *cap, AVCodecContext * } } + if(video_codec_context->hw_device_ctx) + av_buffer_unref(&video_codec_context->hw_device_ctx); + if(video_codec_context->hw_frames_ctx) + av_buffer_unref(&video_codec_context->hw_frames_ctx); + + gsr_capture_base_stop(&cap_xcomp->xcomposite.base, cap_xcomp->xcomposite.params.egl); gsr_capture_xcomposite_stop(&cap_xcomp->xcomposite, video_codec_context); } |