From f79460ff5205f10fc8f47657ff11e38bdb9f9bcc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Sat, 9 Jul 2011 10:57:52 +0200 Subject: [PATCH] basevideo: Add destroy notify for the coder_hook to prevent memory leaks Fixes bug #654293. --- omx/gstbasevideocodec.c | 3 +++ omx/gstbasevideocodec.h | 2 ++ omx/gstbasevideodecoder.c | 3 +++ 3 files changed, 8 insertions(+) diff --git a/omx/gstbasevideocodec.c b/omx/gstbasevideocodec.c index 302f417..db5112b 100644 --- a/omx/gstbasevideocodec.c +++ b/omx/gstbasevideocodec.c @@ -188,5 +188,8 @@ gst_base_video_codec_free_frame (GstVideoFrame * frame) g_list_foreach (frame->events, (GFunc) gst_event_unref, NULL); g_list_free (frame->events); + if (frame->coder_hook_destroy_notify && frame->coder_hook) + frame->coder_hook_destroy_notify (frame->coder_hook); + g_free (frame); } diff --git a/omx/gstbasevideocodec.h b/omx/gstbasevideocodec.h index 0cfe1cb..cffc396 100644 --- a/omx/gstbasevideocodec.h +++ b/omx/gstbasevideocodec.h @@ -126,6 +126,8 @@ struct _GstVideoFrame int n_fields; void *coder_hook; + GDestroyNotify coder_hook_destroy_notify; + GstClockTime deadline; gboolean force_keyframe; diff --git a/omx/gstbasevideodecoder.c b/omx/gstbasevideodecoder.c index ca681cb..037a92a 100644 --- a/omx/gstbasevideodecoder.c +++ b/omx/gstbasevideodecoder.c @@ -1323,6 +1323,9 @@ gst_base_video_decoder_free_frame (GstVideoFrame * frame) g_list_foreach (frame->events, (GFunc) gst_event_unref, NULL); g_list_free (frame->events); + if (frame->coder_hook_destroy_notify && frame->coder_hook) + frame->coder_hook_destroy_notify (frame->coder_hook); + g_free (frame); } -- 2.7.4