[Release version 0.2.45] Add module initialize function 43/83143/1 accepted/tizen/common/20160811.145650 accepted/tizen/ivi/20160812.010632 accepted/tizen/mobile/20160812.010654 accepted/tizen/tv/20160812.010610 accepted/tizen/wearable/20160812.010554 submit/tizen/20160810.075454 submit/tizen/20160811.023523
authorJeongmo Yang <jm80.yang@samsung.com>
Tue, 9 Aug 2016 09:08:39 +0000 (18:08 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Tue, 9 Aug 2016 09:08:39 +0000 (18:08 +0900)
Change-Id: Ibc3be453c0ac8272554dd1ed702b0cd6b38d77e1
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
muse/CMakeLists.txt
muse/src/muse_camera_dispatcher.c
packaging/mmsvc-camera.spec

index ac4a5fe..46652e0 100644 (file)
@@ -28,6 +28,7 @@ ENDIF("${ARCH}" STREQUAL "arm")
 
 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
 ADD_DEFINITIONS("-DTIZEN_DEBUG")
+ADD_DEFINITIONS("-DLIBDIR=\"${LIBDIR}\"")
 
 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=${LIB_INSTALL_DIR}")
 
index 2a9a0fb..97ae158 100644 (file)
@@ -4606,6 +4606,39 @@ int (*dispatcher[MUSE_CAMERA_API_MAX]) (muse_module_h module) = {
 /******************/
 /* cmd dispatcher */
 /******************/
+static int camera_cmd_dispatcher_initialize(muse_module_h module)
+{
+       int item_count = 0;
+       int i = 0;
+       GstPlugin *plugin = NULL;
+
+       const char *load_list[] = {
+               LIBDIR"/gstreamer-1.0/libgstcoreelements.so",
+               LIBDIR"/gstreamer-1.0/libgstcamerasrc.so",
+               LIBDIR"/gstreamer-1.0/libgstwaylandsink.so",
+       };
+
+       item_count = sizeof(load_list) / sizeof(load_list[0]);
+
+       LOGD("item count %d", item_count);
+
+       for (i = 0 ; i < item_count ; i++) {
+               plugin = gst_plugin_load_file(load_list[i], NULL);
+               if (plugin) {
+                       LOGD("%s loaded", load_list[i]);
+                       gst_object_unref(plugin);
+                       plugin = NULL;
+               } else {
+                       LOGW("failed to load %s", load_list[i]);
+               }
+       }
+
+       LOGD("done");
+
+       return MUSE_CAMERA_ERROR_NONE;
+}
+
+
 static int camera_cmd_dispatcher_shutdown(muse_module_h module)
 {
        muse_camera_handle_s *muse_camera = NULL;
@@ -4665,8 +4698,11 @@ again:
        return MUSE_CAMERA_ERROR_NONE;
 }
 
+
 int (*cmd_dispatcher[MUSE_MODULE_COMMAND_MAX])(muse_module_h module) = {
-       NULL, /* MUSE_MODULE_COMMAND_INITIALIZE */
+       camera_cmd_dispatcher_initialize, /* MUSE_MODULE_COMMAND_INITIALIZE */
        camera_cmd_dispatcher_shutdown, /* MUSE_MODULE_COMMAND_SHUTDOWN */
        NULL, /* MUSE_MODULE_COMMAND_DEBUG_INFO_DUMP */
+       NULL, /* MUSE_MODULE_COMMAND_CREATE_SERVER_ACK */
+       NULL  /* MUSE_MODULE_COMMAND_RESOURCE_NOT_AVAILABLE */
 };
index 5b7fe2b..b838800 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mmsvc-camera
 Summary:    A Camera module for muse server
-Version:    0.2.44
+Version:    0.2.45
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
@@ -44,7 +44,7 @@ Development related files of a Camera module for muse server.
 export CFLAGS+=" -DTIZEN_DEBUG_ENABLE"
 %endif
 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
-%cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
+%cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DLIBDIR=%{_libdir}
 
 make %{?jobs:-j%jobs}