diff --git a/ext/vulkan/vkimagememory.c b/ext/vulkan/vkimagememory.c index 6759e011df..3fd1cc8d0a 100644 --- a/ext/vulkan/vkimagememory.c +++ b/ext/vulkan/vkimagememory.c @@ -147,12 +147,13 @@ _create_info_from_args (VkImageCreateInfo * info, VkFormat format, gsize width, info->sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO; info->pNext = NULL; + info->flags = 0; info->imageType = VK_IMAGE_TYPE_2D; info->format = format; GST_VK_EXTENT3D (info->extent, width, height, 1); info->mipLevels = 1; info->arrayLayers = 1; - info->samples = 1; + info->samples = VK_SAMPLE_COUNT_1_BIT; info->tiling = tiling; info->usage = usage; info->sharingMode = VK_SHARING_MODE_EXCLUSIVE; @@ -200,7 +201,7 @@ _vk_image_mem_new_alloc (GstAllocator * allocator, GstMemory * parent, VkMemoryPropertyFlags mem_prop_flags, gpointer user_data, GDestroyNotify notify) { - GstVulkanImageMemory *mem = g_new0 (GstVulkanImageMemory, 1); + GstVulkanImageMemory *mem = NULL; GstAllocationParams params = { 0, }; VkImageViewCreateInfo view_info; VkImageCreateInfo image_info; @@ -221,6 +222,7 @@ _vk_image_mem_new_alloc (GstAllocator * allocator, GstMemory * parent, if (gst_vulkan_error_to_g_error (err, &error, "vkCreateImage") < 0) goto vk_error; + mem = g_new0 (GstVulkanImageMemory, 1); vkGetImageMemoryRequirements (device->device, image, &mem->requirements); params.align = mem->requirements.alignment; @@ -275,7 +277,8 @@ vk_error: error: { - gst_memory_unref ((GstMemory *) mem); + if (mem) + gst_memory_unref ((GstMemory *) mem); return NULL; } }