static void on_track_joints (GObject *obj, GAsyncResult *res, gpointer user_data) { guint i; BufferInfo *buffer_info; guint16 *reduced; gint width, height, reduced_width, reduced_height; ClutterContent *content; GError *error = NULL; buffer_info = (BufferInfo *) user_data; reduced = (guint16 *) buffer_info->reduced_buffer; width = buffer_info->width; height = buffer_info->height; reduced_width = buffer_info->reduced_width; reduced_height = buffer_info->reduced_height; list = skeltrack_skeleton_track_joints_finish (skeleton, res, &error); if (error == NULL) { if (SHOW_SKELETON) { content = clutter_actor_get_content (depth_tex); clutter_content_invalidate (content); } } else { g_warning ("%s\n", error->message); g_error_free (error); } g_slice_free1 (reduced_width * reduced_height * sizeof (guint16), reduced); g_slice_free (BufferInfo, buffer_info); skeltrack_joint_list_free (list); }
static void on_track_joints (GObject *obj, GAsyncResult *res, gpointer user_data) { guint i; BufferInfo *buffer_info; guint16 *reduced; gint width, height, reduced_width, reduced_height; buffer_info = (BufferInfo *) user_data; reduced = (guint16 *) buffer_info->reduced_buffer; width = buffer_info->width; height = buffer_info->height; reduced_width = buffer_info->reduced_width; reduced_height = buffer_info->reduced_height; GError *error = NULL; list = skeltrack_skeleton_track_joints_finish (skeleton, res, &error); if (error == NULL) { if (SHOW_SKELETON) clutter_cairo_texture_invalidate (CLUTTER_CAIRO_TEXTURE (depth_tex)); } else { g_error_free (error); } g_slice_free1 (width * height * sizeof (guint16), reduced); g_slice_free (BufferInfo, buffer_info); }