From: Hyuntae, Kim Date: Tue, 22 Mar 2016 04:48:43 +0000 (+0900) Subject: [libmm-camcorder] svace issue, callback msg removed, construct api removed X-Git-Tag: accepted/tizen/common/20160406.144207~1 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fmultimedia%2Flibmm-camcorder.git;a=commitdiff_plain;h=a3c107313f2e0f6378caf8696cdb6762566d706a [libmm-camcorder] svace issue, callback msg removed, construct api removed Change-Id: I1654bff0e46ecb4f923ddf54ea4c777ba51f6899 --- diff --git a/packaging/libmm-camcorder.spec b/packaging/libmm-camcorder.spec index 243a3a1..6d466e2 100644 --- a/packaging/libmm-camcorder.spec +++ b/packaging/libmm-camcorder.spec @@ -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 diff --git a/src/Makefile.am b/src/Makefile.am index 28d4002..ef78bd1 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -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 diff --git a/src/include/mm_camcorder_internal.h b/src/include/mm_camcorder_internal.h index bd92bee..41f9a27 100644 --- a/src/include/mm_camcorder_internal.h +++ b/src/include/mm_camcorder_internal.h @@ -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);\ diff --git a/src/mm_camcorder_internal.c b/src/mm_camcorder_internal.c index ba2b49b..cde987b 100644 --- a/src/mm_camcorder_internal.c +++ b/src/mm_camcorder_internal.c @@ -44,14 +44,6 @@ #include -/*--------------------------------------------------------------------------------------- -| 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) {