diff options
author | Haihao Xiang <haihao.xiang@intel.com> | 2019-01-09 08:58:00 +0800 |
---|---|---|
committer | Haihao Xiang <haihao.xiang@intel.com> | 2019-01-09 09:42:56 +0800 |
commit | ba7f4de2986ac364fe8ea6484a453ce066bf6843 (patch) | |
tree | 3c28ee75dcaaa4577f38524b67d80c32a3470410 /sys | |
parent | a3011500024966677cd7e7d1cd3297cbaa643923 (diff) | |
download | gstreamer-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.c | 3 | ||||
-rw-r--r-- | sys/msdk/gstmsdkenc.c | 3 | ||||
-rw-r--r-- | sys/msdk/gstmsdkvpp.c | 10 |
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; } } |