summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorHaihao Xiang <haihao.xiang@intel.com>2019-01-09 08:58:00 +0800
committerHaihao Xiang <haihao.xiang@intel.com>2019-01-09 09:42:56 +0800
commitba7f4de2986ac364fe8ea6484a453ce066bf6843 (patch)
tree3c28ee75dcaaa4577f38524b67d80c32a3470410 /sys
parenta3011500024966677cd7e7d1cd3297cbaa643923 (diff)
downloadgstreamer-plugins-bad-ba7f4de2986ac364fe8ea6484a453ce066bf6843.tar.gz
msdk: release resources if failing to create the buffer pool
Needn't check the pointers against NULL because the pointers are non-NULL
Diffstat (limited to 'sys')
-rw-r--r--sys/msdk/gstmsdkdec.c3
-rw-r--r--sys/msdk/gstmsdkenc.c3
-rw-r--r--sys/msdk/gstmsdkvpp.c10
3 files changed, 10 insertions, 6 deletions
diff --git a/sys/msdk/gstmsdkdec.c b/sys/msdk/gstmsdkdec.c
index 016122dce..5d80ca436 100644
--- a/sys/msdk/gstmsdkdec.c
+++ b/sys/msdk/gstmsdkdec.c
@@ -1112,11 +1112,14 @@ error_no_pool:
error_no_allocator:
{
GST_INFO_OBJECT (thiz, "failed to create allocator");
+ gst_object_unref (pool);
return NULL;
}
error_pool_config:
{
GST_INFO_OBJECT (thiz, "failed to set config");
+ gst_object_unref (pool);
+ gst_object_unref (allocator);
return NULL;
}
}
diff --git a/sys/msdk/gstmsdkenc.c b/sys/msdk/gstmsdkenc.c
index c3e16ce75..6f9024921 100644
--- a/sys/msdk/gstmsdkenc.c
+++ b/sys/msdk/gstmsdkenc.c
@@ -952,11 +952,14 @@ error_no_pool:
error_no_allocator:
{
GST_INFO_OBJECT (thiz, "failed to create allocator");
+ gst_object_unref (pool);
return FALSE;
}
error_pool_config:
{
GST_INFO_OBJECT (thiz, "failed to set config");
+ gst_object_unref (pool);
+ gst_object_unref (allocator);
return FALSE;
}
}
diff --git a/sys/msdk/gstmsdkvpp.c b/sys/msdk/gstmsdkvpp.c
index d769d4084..027037bd1 100644
--- a/sys/msdk/gstmsdkvpp.c
+++ b/sys/msdk/gstmsdkvpp.c
@@ -304,22 +304,20 @@ error_no_pool:
error_no_video_info:
{
GST_INFO_OBJECT (thiz, "Failed to get Video info from caps");
+ gst_object_unref (pool);
return NULL;
}
error_no_allocator:
{
GST_INFO_OBJECT (thiz, "Failed to create allocator");
- if (pool)
- gst_object_unref (pool);
+ gst_object_unref (pool);
return NULL;
}
error_pool_config:
{
GST_INFO_OBJECT (thiz, "Failed to set config");
- if (pool)
- gst_object_unref (pool);
- if (allocator)
- gst_object_unref (allocator);
+ gst_object_unref (pool);
+ gst_object_unref (allocator);
return NULL;
}
}