g_mutex_lock (&decode->surface_ready_mutex);
g_cond_signal (&decode->surface_ready);
g_mutex_unlock (&decode->surface_ready_mutex);
+ gst_object_unref (decode);
}
static GstFlowReturn
proxy = gst_video_codec_frame_get_user_data (out_frame);
gst_vaapi_surface_proxy_set_destroy_notify (proxy,
- (GDestroyNotify) gst_vaapidecode_release, decode);
+ (GDestroyNotify) gst_vaapidecode_release, gst_object_ref (decode));
#if GST_CHECK_VERSION(1,0,0)
ret = gst_video_decoder_allocate_output_frame (vdec, out_frame);
decode->active = FALSE;
- gst_vaapidecode_release (decode);
+ gst_vaapidecode_release (gst_object_ref (decode));
}
static gboolean