-#define _MM_GST_PAD_LINK_UNREF(srcpad, sinkpad, err, if_fail_goto)\
-{\
- GstPadLinkReturn ret = _MM_GST_PAD_LINK(srcpad, sinkpad);\
- if (ret != GST_PAD_LINK_OK) {\
- GstObject *src_parent = gst_pad_get_parent(srcpad);\
- GstObject *sink_parent = gst_pad_get_parent(sinkpad);\
- char *src_name = NULL;\
- char *sink_name = NULL;\
- g_object_get((GObject *)src_parent, "name", &src_name, NULL);\
- g_object_get((GObject *)sink_parent, "name", &sink_name, NULL);\
- _mmcam_dbg_err("src[%s] - sink[%s] link failed", src_name, sink_name);\
- gst_object_unref(src_parent); src_parent = NULL;\
- gst_object_unref(sink_parent); sink_parent = NULL;\
- if (src_name) {\
- free(src_name); src_name = NULL;\
- }\
- if (sink_name) {\
- free(sink_name); sink_name = NULL;\
- }\
- gst_object_unref(srcpad); srcpad = NULL;\
- gst_object_unref(sinkpad); sinkpad = NULL;\
- err = MM_ERROR_CAMCORDER_GST_LINK;\
+#define _MM_GST_PAD_LINK_UNREF(srcpad, sinkpad, err, if_fail_goto) \
+{ \
+ GstPadLinkReturn ret = GST_PAD_LINK_OK; \
+ if (srcpad == NULL || sinkpad == NULL) { \
+ if (srcpad == NULL) { \
+ _mmcam_dbg_err("srcpad is NULL"); \
+ } else { \
+ gst_object_unref(srcpad);\
+ srcpad = NULL; \
+ } \
+ if (sinkpad == NULL) { \
+ _mmcam_dbg_err("sinkpad is NULL"); \
+ } else { \
+ gst_object_unref(sinkpad); \
+ sinkpad = NULL;\
+ } \
+ err = MM_ERROR_CAMCORDER_GST_LINK; \
+ goto if_fail_goto; \
+ } \
+ ret = _MM_GST_PAD_LINK(srcpad, sinkpad); \
+ if (ret != GST_PAD_LINK_OK) { \
+ GstObject *src_parent = gst_pad_get_parent(srcpad); \
+ GstObject *sink_parent = gst_pad_get_parent(sinkpad); \
+ char *src_name = NULL; \
+ char *sink_name = NULL; \
+ g_object_get((GObject *)src_parent, "name", &src_name, NULL); \
+ g_object_get((GObject *)sink_parent, "name", &sink_name, NULL); \
+ _mmcam_dbg_err("src[%s] - sink[%s] link failed", src_name, sink_name); \
+ gst_object_unref(src_parent); src_parent = NULL; \
+ gst_object_unref(sink_parent); sink_parent = NULL; \
+ if (src_name) { \
+ free(src_name); src_name = NULL; \
+ } \
+ if (sink_name) { \
+ free(sink_name); sink_name = NULL; \
+ } \
+ gst_object_unref(srcpad); srcpad = NULL; \
+ gst_object_unref(sinkpad); sinkpad = NULL; \
+ err = MM_ERROR_CAMCORDER_GST_LINK; \