Use _USE_TVPD_MODE instead of _USE_MULTI_USER 36/304436/4
authorminje.ahn <minje.ahn@samsung.com>
Wed, 17 Jan 2024 08:28:07 +0000 (17:28 +0900)
committerMinje ahn <minje.ahn@samsung.com>
Thu, 18 Jan 2024 03:24:18 +0000 (03:24 +0000)
Change-Id: I1a126ca8824cfacbc65c888888b914ff3eff238f
Signed-off-by: minje.ahn <minje.ahn@samsung.com>
packaging/media-server.spec
src/server/media-server-device-block.c
src/server/media-server-main.c

index 49ad0ce..b9588f6 100644 (file)
@@ -1,6 +1,6 @@
 Name:       media-server
 Summary:    A server for media content management
-Version:    0.4.29
+Version:    0.4.30
 Release:    0
 Group:      Multimedia/Service
 License:    Apache-2.0
@@ -71,7 +71,7 @@ cp %{SOURCE1001} %{SOURCE1002} %{SOURCE1003} .
 %if 0%{?product_tv}
 export CFLAGS="$CFLAGS -D_USE_TVPD_MODE"
 %else
-export CFLAGS="$CFLAGS -D_USE_MULTI_USER"
+export CFLAGS="$CFLAGS"
 %endif
 export CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FORTIFY_SOURCE=2 -DTIZEN_DEBUG_ENABLE -DSYSCONFDIR=\\\"%{_sysconfdir}\\\""
 export CFLAGS+=" -DPATH_LIBDIR=\\\"%{_libdir}\\\""
index 1067661..d8d0e84 100644 (file)
@@ -408,7 +408,15 @@ int ms_check_mounted_storage(uid_t uid)
 #else /*_USE_TVPD_MODE*/
 void ms_device_block_changed_cb(ms_block_info_s *block_info, void *user_data)
 {
+       int ret = MS_MEDIA_ERR_NONE;
        MS_DBG_WARN("GET EXTERNAL EVENT");
+
+       ret = ms_load_functions();
+       if (ret != MS_MEDIA_ERR_NONE) {
+               MS_DBG_ERR("plugin load failed");
+               return;
+       }
+
        if (block_info->mount_path != NULL && block_info->mount_uuid != NULL) {
                MS_DBG("uuid[%s] path[%s]", block_info->mount_uuid, block_info->mount_path);
 
@@ -419,5 +427,7 @@ void ms_device_block_changed_cb(ms_block_info_s *block_info, void *user_data)
        } else {
                MS_DBG_ERR("mount_path or mount_uuid is NULL");
        }
+
+       ms_unload_functions();
 }
 #endif /*_USE_TVPD_MODE*/
index 7d3699f..8c4d2b6 100644 (file)
@@ -219,7 +219,9 @@ int main(int argc, char **argv)
        GIOChannel *channel = NULL;
        bool is_dcm_supported = __ms_is_dcm_supported();
        power_off = false;
+#ifdef _USE_TVPD_MODE
        int ret = 0;
+#endif
        int sockfd = -1;
 
        resource_pid_t stResource = {};
@@ -230,6 +232,7 @@ int main(int argc, char **argv)
                MS_DBG_ERR("Start CPU Boost 0, pid[%d]", stResource.pid);
        }
 
+#ifdef _USE_TVPD_MODE
        ret = ms_load_functions();
        if (ret != MS_MEDIA_ERR_NONE) {
                MS_DBG_ERR("ms_load_functions failed [%d]", ret);
@@ -237,7 +240,6 @@ int main(int argc, char **argv)
                return -1;
        }
 
-#ifdef _USE_TVPD_MODE
        uid_t uid = MEDIA_DEFAULT_UID;
        uint64_t db_size = 0;
        uint64_t free_space = 0;
@@ -267,7 +269,9 @@ int main(int argc, char **argv)
        __ms_new_global_variable();
 
        if (ms_cynara_initialize() != MS_MEDIA_ERR_NONE) {
+#ifdef _USE_TVPD_MODE
                ms_unload_functions();
+#endif
                MS_DBG_ERR("Failed to initialize cynara");
                resource_clear_cpu_boosting(stResource);
                return -1;
@@ -330,8 +334,9 @@ int main(int argc, char **argv)
                g_thread_join(dcm_thread);
 
        ms_cynara_finish();
+#ifdef _USE_TVPD_MODE
        ms_unload_functions();
-
+#endif
        __ms_free_global_variable();
 
        MS_DBG_INFO("Media Server is shutting down");
@@ -409,11 +414,11 @@ static void __ms_update_storage_status(void)
 
 static void __ms_check_mediadb(void)
 {
-#ifndef _USE_MULTI_USER
+       int ret = MS_MEDIA_ERR_NONE;
+#ifdef _USE_TVPD_MODE
        uid_t uid = MEDIA_DEFAULT_UID;
 
        sqlite3 *db_handle = NULL;
-       int ret = MS_MEDIA_ERR_NONE;
 
        ms_sys_get_uid(&uid);
 
@@ -430,28 +435,37 @@ static void __ms_check_mediadb(void)
                return;
        }
 
-#ifdef _USE_TVPD_MODE
        if (ms_set_storage_scan_status(db_handle, NULL, MEDIA_SCAN_PREPARE, uid) != MS_MEDIA_ERR_NONE)
                MS_DBG_ERR("ms_set_storage_scan_status fail");
-#endif
+
        /*update just valid type*/
        if (ms_set_all_storage_validity(db_handle, 0, uid) != MS_MEDIA_ERR_NONE)
                MS_DBG_ERR("ms_set_all_storage_validity fail");
 
-#ifdef _USE_TVPD_MODE
 /* auto scan tv interal storage */
        char *internal_path = NULL;
        ms_sys_get_uid(&uid);
        ms_user_get_internal_root_path(uid, &internal_path);
        ms_send_storage_scan_request(internal_path, INTERNAL_STORAGE_ID, MS_SCAN_PART, uid);
        g_free(internal_path);
-#endif
+
        ms_disconnect_db(db_handle);
 #endif
 
        /* update external storage */
-       if (__ms_is_external_supported())
+       if (__ms_is_external_supported()) {
+#ifdef _USE_TVPD_MODE
                __ms_update_storage_status();
+#else
+               ret = ms_load_functions();
+               if (ret != MS_MEDIA_ERR_NONE) {
+                       MS_DBG_ERR("ms_load_functions failed [%d]", ret);
+                       return;
+               }
+               __ms_update_storage_status();
+               ms_unload_functions();
+#endif
+       }
 }
 
 static bool __ms_is_dcm_supported(void)