vksink: only unref if the pointers are non-NULL

This commit is contained in:
Matthew Waters 2016-02-10 18:58:32 +11:00
parent b5dce08d8f
commit 22172df413

View file

@ -299,16 +299,22 @@ gst_vulkan_sink_change_state (GstElement * element, GstStateChange transition)
case GST_STATE_CHANGE_PAUSED_TO_READY:
break;
case GST_STATE_CHANGE_READY_TO_NULL:
gst_object_unref (vk_sink->swapper);
if (vk_sink->swapper)
gst_object_unref (vk_sink->swapper);
vk_sink->swapper = NULL;
gst_object_unref (vk_sink->display);
if (vk_sink->display)
gst_object_unref (vk_sink->display);
vk_sink->display = NULL;
gst_vulkan_window_close (vk_sink->window);
gst_object_unref (vk_sink->window);
if (vk_sink->window) {
gst_vulkan_window_close (vk_sink->window);
gst_object_unref (vk_sink->window);
}
vk_sink->window = NULL;
gst_object_unref (vk_sink->device);
if (vk_sink->device)
gst_object_unref (vk_sink->device);
vk_sink->device = NULL;
gst_object_unref (vk_sink->instance);
if (vk_sink->instance)
gst_object_unref (vk_sink->instance);
vk_sink->instance = NULL;
break;
default: