[libmm-camcorder] svace issue, callback msg removed, construct api removed 71/63071/3
authorHyuntae, Kim <ht1211.kim@samsung.com>
Tue, 22 Mar 2016 04:48:43 +0000 (13:48 +0900)
committerHyuntae, Kim <ht1211.kim@samsung.com>
Tue, 22 Mar 2016 06:52:51 +0000 (15:52 +0900)
Change-Id: I1654bff0e46ecb4f923ddf54ea4c777ba51f6899

packaging/libmm-camcorder.spec
src/Makefile.am
src/include/mm_camcorder_internal.h
src/mm_camcorder_internal.c

index 243a3a1..6d466e2 100644 (file)
@@ -2,7 +2,7 @@
 
 Name:       libmm-camcorder
 Summary:    Camera and recorder library
-Version:    0.10.39
+Version:    0.10.40
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index 28d4002..ef78bd1 100644 (file)
@@ -73,8 +73,7 @@ libmmfcamcorder_la_LIBADD = \
 
 libmmfcamcorder_la_CFLAGS += -DMMF_LOG_OWNER=0x010 -D_FILE_OFFSET_BITS=64
 libmmfcamcorder_la_CFLAGS += -fdata-sections -ffunction-sections -Wl,--gc-sections
-libmmfcamcorder_la_LDFLAGS = -Wl,--gc-sections \
-                            -Wl,-init,_mmcamcorder_constructor
+libmmfcamcorder_la_LDFLAGS = -Wl,--gc-sections
 libmmfcamcorder_la_LIBADD += $(SYSTEMINFO_LIBS)
 
 if WAYLAND_SUPPORT
index bd92bee..41f9a27 100644 (file)
@@ -210,7 +210,24 @@ extern "C" {
 
 #define _MM_GST_PAD_LINK_UNREF(srcpad, sinkpad, err, if_fail_goto)\
 {\
-       GstPadLinkReturn ret = _MM_GST_PAD_LINK(srcpad, sinkpad);\
+       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);\
index ba2b49b..cde987b 100644 (file)
 
 #include <murphy/common/glib-glue.h>
 
-/*---------------------------------------------------------------------------------------
-|    GLOBAL VARIABLE DEFINITIONS for internal                                          |
----------------------------------------------------------------------------------------*/
-struct sigaction mm_camcorder_int_old_action;
-struct sigaction mm_camcorder_abrt_old_action;
-struct sigaction mm_camcorder_segv_old_action;
-struct sigaction mm_camcorder_term_old_action;
-struct sigaction mm_camcorder_sys_old_action;
 
 /*---------------------------------------------------------------------------------------
 |    LOCAL VARIABLE DEFINITIONS for internal                                           |
@@ -82,9 +74,6 @@ static gboolean __mmcamcorder_handle_gst_warning(MMHandleType handle, GstMessage
 static gboolean __mmcamcorder_set_attr_to_camsensor_cb(gpointer data);
 #endif /* _MMCAMCORDER_USE_SET_ATTR_CB */
 
-static void __mm_camcorder_signal_handler(int signo);
-static void _mmcamcorder_constructor() __attribute__((constructor));
-
 /*=======================================================================================
 |  FUNCTION DEFINITIONS                                                                        |
 =======================================================================================*/
@@ -92,66 +81,6 @@ static void _mmcamcorder_constructor() __attribute__((constructor));
 |    GLOBAL FUNCTION DEFINITIONS:                                                      |
 ---------------------------------------------------------------------------------------*/
 
-
-static void __mm_camcorder_signal_handler(int signo)
-{
-       pid_t my_pid = getpid();
-
-       _mmcam_dbg_warn("start - signo [%d], pid [%d]", signo, my_pid);
-
-       /* call old signal handler */
-       switch (signo) {
-       case SIGINT:
-               sigaction(SIGINT, &mm_camcorder_int_old_action, NULL);
-               raise(signo);
-               break;
-       case SIGABRT:
-               sigaction(SIGABRT, &mm_camcorder_abrt_old_action, NULL);
-               raise(signo);
-               break;
-       case SIGSEGV:
-               sigaction(SIGSEGV, &mm_camcorder_segv_old_action, NULL);
-               raise(signo);
-               break;
-       case SIGTERM:
-               sigaction(SIGTERM, &mm_camcorder_term_old_action, NULL);
-               raise(signo);
-               break;
-       case SIGSYS:
-               sigaction(SIGSYS, &mm_camcorder_sys_old_action, NULL);
-               raise(signo);
-               break;
-       default:
-               break;
-       }
-
-       _mmcam_dbg_warn("done");
-
-       return;
-}
-
-
-static void _mmcamcorder_constructor()
-{
-       struct sigaction mm_camcorder_action;
-       mm_camcorder_action.sa_handler = __mm_camcorder_signal_handler;
-       mm_camcorder_action.sa_flags = SA_NOCLDSTOP;
-
-       _mmcam_dbg_warn("start");
-
-       sigemptyset(&mm_camcorder_action.sa_mask);
-
-       sigaction(SIGINT, &mm_camcorder_action, &mm_camcorder_int_old_action);
-       sigaction(SIGABRT, &mm_camcorder_action, &mm_camcorder_abrt_old_action);
-       sigaction(SIGSEGV, &mm_camcorder_action, &mm_camcorder_segv_old_action);
-       sigaction(SIGTERM, &mm_camcorder_action, &mm_camcorder_term_old_action);
-       sigaction(SIGSYS, &mm_camcorder_action, &mm_camcorder_sys_old_action);
-
-       _mmcam_dbg_warn("done");
-
-       return;
-}
-
 /* Internal command functions {*/
 int _mmcamcorder_create(MMHandleType *handle, MMCamPreset *info)
 {