From 55d3f67c595f8251005b069c8039eb765fee00bc Mon Sep 17 00:00:00 2001 From: "minje.ahn" Date: Wed, 17 Jan 2024 17:28:07 +0900 Subject: [PATCH] Use _USE_TVPD_MODE instead of _USE_MULTI_USER Change-Id: I1a126ca8824cfacbc65c888888b914ff3eff238f Signed-off-by: minje.ahn --- packaging/media-server.spec | 4 ++-- src/server/media-server-device-block.c | 10 ++++++++++ src/server/media-server-main.c | 32 +++++++++++++++++++++++--------- 3 files changed, 35 insertions(+), 11 deletions(-) diff --git a/packaging/media-server.spec b/packaging/media-server.spec index 49ad0ce..b9588f6 100644 --- a/packaging/media-server.spec +++ b/packaging/media-server.spec @@ -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}\\\"" diff --git a/src/server/media-server-device-block.c b/src/server/media-server-device-block.c index 1067661..d8d0e84 100644 --- a/src/server/media-server-device-block.c +++ b/src/server/media-server-device-block.c @@ -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*/ diff --git a/src/server/media-server-main.c b/src/server/media-server-main.c index 7d3699f..8c4d2b6 100644 --- a/src/server/media-server-main.c +++ b/src/server/media-server-main.c @@ -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) -- 2.7.4