node check is separated into src node check and sink node check 06/212706/1
authorHyunil <hyunil46.park@samsung.com>
Mon, 26 Aug 2019 07:19:01 +0000 (16:19 +0900)
committerHyunil <hyunil46.park@samsung.com>
Mon, 26 Aug 2019 07:19:01 +0000 (16:19 +0900)
Change-Id: I57a4f48e6db9132f2aeffa1550b1882b71a0b6ce
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
src/media_streamer_node.c

index 449fd96..e4d8750 100644 (file)
 #define DEFAULT_URI_SCHEME_LENGTH 10
 #define DEFAULT_HTTP_PORT "8888"
 
+#define _FEATURE_NAME_WIFI               "http://tizen.org/feature/network.wifi"
+#define _FEATURE_NAME_TELEPHONY          "http://tizen.org/feature/network.telephony"
+#define _FEATURE_NAME_ETHERNET           "http://tizen.org/feature/network.ethernet"
+#define _FEATURE_NAME_CAMERA             "http://tizen.org/feature/camera"
+#define _FEATURE_NAME_MICROPHONE         "http://tizen.org/feature/microphone"
+
 param_s param_table[] = {
        {MEDIA_STREAMER_PARAM_CAMERA_ID, "camera-id"},
        {MEDIA_STREAMER_PARAM_CAPTURE_WIDTH, "capture-width"},
@@ -468,14 +474,8 @@ static int __ms_node_check_priveleges(media_streamer_node_s *node)
        return ret;
 }
 
-static int __ms_node_check_feature(media_streamer_node_s *node)
+static int __ms_src_node_check_feature(media_streamer_node_s *node)
 {
-#define _FEATURE_NAME_WIFI               "http://tizen.org/feature/network.wifi"
-#define _FEATURE_NAME_TELEPHONY          "http://tizen.org/feature/network.telephony"
-#define _FEATURE_NAME_ETHERNET           "http://tizen.org/feature/network.ethernet"
-#define _FEATURE_NAME_CAMERA             "http://tizen.org/feature/camera"
-#define _FEATURE_NAME_MICROPHONE         "http://tizen.org/feature/microphone"
-
        int ret = MEDIA_STREAMER_ERROR_NONE;
        bool enabled = FALSE;
        bool supported = FALSE;
@@ -484,101 +484,112 @@ static int __ms_node_check_feature(media_streamer_node_s *node)
 
        ms_retvm_if(node == NULL, MEDIA_STREAMER_ERROR_INVALID_PARAMETER, "node is NULL");
 
-       if (node->type == MEDIA_STREAMER_NODE_TYPE_SRC) {
-               switch (node->subtype) {
-               case MEDIA_STREAMER_NODE_SRC_TYPE_HTTP:
-               case MEDIA_STREAMER_NODE_SRC_TYPE_RTSP:
-               case MEDIA_STREAMER_NODE_SRC_TYPE_ADAPTIVE:
-                       if (SYSTEM_INFO_ERROR_NONE == system_info_get_platform_bool(_FEATURE_NAME_WIFI, &enabled)) {
-                               ms_info("wifi status = %d", enabled);
-                               if (enabled)
-                                       supported = TRUE;
-                       } else {
-                               ms_error("SYSTEM_INFO_ERROR");
-                       }
+       switch (node->subtype) {
+       case MEDIA_STREAMER_NODE_SRC_TYPE_HTTP:
+       case MEDIA_STREAMER_NODE_SRC_TYPE_RTSP:
+       case MEDIA_STREAMER_NODE_SRC_TYPE_ADAPTIVE:
+               if (SYSTEM_INFO_ERROR_NONE == system_info_get_platform_bool(_FEATURE_NAME_WIFI, &enabled)) {
+                       ms_info("wifi status = %d", enabled);
+                       if (enabled)
+                               supported = TRUE;
+               } else {
+                       ms_error("SYSTEM_INFO_ERROR");
+               }
 
-                       if (SYSTEM_INFO_ERROR_NONE == system_info_get_platform_bool(_FEATURE_NAME_TELEPHONY, &enabled)) {
-                               ms_info("telephony status = %d", enabled);
-                               if (enabled)
-                                       supported = TRUE;
-                       } else {
-                               ms_error("SYSTEM_INFO_ERROR");
-                       }
+               if (SYSTEM_INFO_ERROR_NONE == system_info_get_platform_bool(_FEATURE_NAME_TELEPHONY, &enabled)) {
+                       ms_info("telephony status = %d", enabled);
+                       if (enabled)
+                               supported = TRUE;
+               } else {
+                       ms_error("SYSTEM_INFO_ERROR");
+               }
 
-                       if (SYSTEM_INFO_ERROR_NONE == system_info_get_platform_bool(_FEATURE_NAME_ETHERNET, &enabled)) {
-                               ms_info("ethernet status = %d", enabled);
-                               if (enabled)
-                                       supported = TRUE;
-                       } else {
-                               ms_error("SYSTEM_INFO_ERROR");
-                       }
-                       if (!supported)
-                               ret = MEDIA_STREAMER_ERROR_NOT_SUPPORTED;
-                       break;
-               case MEDIA_STREAMER_NODE_SRC_TYPE_AUDIO_CAPTURE:
-                       if (SYSTEM_INFO_ERROR_NONE == system_info_get_platform_bool(_FEATURE_NAME_MICROPHONE, &enabled)) {
-                               ms_info("microphone status = %d", enabled);
-                               if (enabled)
-                                       supported = TRUE;
-                       } else {
-                               ms_error("SYSTEM_INFO_ERROR");
-                       }
-                       if (!supported)
-                               ret = MEDIA_STREAMER_ERROR_NOT_SUPPORTED;
-                       break;
-               case MEDIA_STREAMER_NODE_SRC_TYPE_CAMERA:
-               case MEDIA_STREAMER_NODE_SRC_TYPE_VIDEO_CAPTURE:
-                       if (SYSTEM_INFO_ERROR_NONE == system_info_get_platform_bool(_FEATURE_NAME_CAMERA, &enabled)) {
-                               ms_info("camera status = %d", enabled);
-                               if (enabled)
-                                       supported = TRUE;
-                       } else {
-                               ms_error("SYSTEM_INFO_ERROR");
-                       }
-                       if (!supported)
-                               ret = MEDIA_STREAMER_ERROR_NOT_SUPPORTED;
-                       break;
-               default:
-                       ms_info("For current Src Node subtype [%d] privileges are not needed", node->subtype);
-                       break;
+               if (SYSTEM_INFO_ERROR_NONE == system_info_get_platform_bool(_FEATURE_NAME_ETHERNET, &enabled)) {
+                       ms_info("ethernet status = %d", enabled);
+                       if (enabled)
+                               supported = TRUE;
+               } else {
+                       ms_error("SYSTEM_INFO_ERROR");
+               }
+               if (!supported)
+                       ret = MEDIA_STREAMER_ERROR_NOT_SUPPORTED;
+               break;
+       case MEDIA_STREAMER_NODE_SRC_TYPE_AUDIO_CAPTURE:
+               if (SYSTEM_INFO_ERROR_NONE == system_info_get_platform_bool(_FEATURE_NAME_MICROPHONE, &enabled)) {
+                       ms_info("microphone status = %d", enabled);
+                       if (enabled)
+                               supported = TRUE;
+               } else {
+                       ms_error("SYSTEM_INFO_ERROR");
                }
+               if (!supported)
+                       ret = MEDIA_STREAMER_ERROR_NOT_SUPPORTED;
+               break;
+       case MEDIA_STREAMER_NODE_SRC_TYPE_CAMERA:
+       case MEDIA_STREAMER_NODE_SRC_TYPE_VIDEO_CAPTURE:
+               if (SYSTEM_INFO_ERROR_NONE == system_info_get_platform_bool(_FEATURE_NAME_CAMERA, &enabled)) {
+                       ms_info("camera status = %d", enabled);
+                       if (enabled)
+                               supported = TRUE;
+               } else {
+                       ms_error("SYSTEM_INFO_ERROR");
+               }
+               if (!supported)
+                       ret = MEDIA_STREAMER_ERROR_NOT_SUPPORTED;
+               break;
+       default:
+               ms_info("For current Src Node subtype [%d] privileges are not needed", node->subtype);
+               break;
        }
 
-       if (node->type == MEDIA_STREAMER_NODE_TYPE_SINK) {
-               switch (node->subtype) {
-               case MEDIA_STREAMER_NODE_SINK_TYPE_HTTP:
-               case MEDIA_STREAMER_NODE_SINK_TYPE_RTSP:
-               /* case MEDIA_STREAMER_NODE_SINK_TYPE_ADAPTIVE: */
-                       if (SYSTEM_INFO_ERROR_NONE == system_info_get_platform_bool(_FEATURE_NAME_WIFI, &enabled)) {
-                               ms_info("wifi status = %d", enabled);
-                               if (enabled)
-                                       supported = TRUE;
-                       } else {
-                               ms_error("SYSTEM_INFO_ERROR");
-                       }
+       ms_debug_fleave();
 
-                       if (SYSTEM_INFO_ERROR_NONE == system_info_get_platform_bool(_FEATURE_NAME_TELEPHONY, &enabled)) {
-                               ms_info("telephony status = %d", enabled);
-                               if (enabled)
-                                       supported = TRUE;
-                       } else {
-                               ms_error("SYSTEM_INFO_ERROR");
-                       }
+       return ret;
+}
 
-                       if (SYSTEM_INFO_ERROR_NONE == system_info_get_platform_bool(_FEATURE_NAME_ETHERNET, &enabled)) {
-                               ms_info("ethernet status = %d", enabled);
-                               if (enabled)
-                                       supported = TRUE;
-                       } else {
-                               ms_error("SYSTEM_INFO_ERROR");
-                       }
-                       if (!supported)
-                               ret = MEDIA_STREAMER_ERROR_NOT_SUPPORTED;
-                       break;
-               default:
-                       ms_info("For current Sink Node subtype [%d] privileges are not needed", node->subtype);
-                       break;
+static int __ms_sink_node_check_feature(media_streamer_node_s *node)
+{
+       int ret = MEDIA_STREAMER_ERROR_NONE;
+       bool enabled = FALSE;
+       bool supported = FALSE;
+
+       ms_debug_fenter();
+
+       ms_retvm_if(node == NULL, MEDIA_STREAMER_ERROR_INVALID_PARAMETER, "node is NULL");
+
+       switch (node->subtype) {
+       case MEDIA_STREAMER_NODE_SINK_TYPE_HTTP:
+       case MEDIA_STREAMER_NODE_SINK_TYPE_RTSP:
+       /* case MEDIA_STREAMER_NODE_SINK_TYPE_ADAPTIVE: */
+               if (SYSTEM_INFO_ERROR_NONE == system_info_get_platform_bool(_FEATURE_NAME_WIFI, &enabled)) {
+                       ms_info("wifi status = %d", enabled);
+                       if (enabled)
+                               supported = TRUE;
+               } else {
+                       ms_error("SYSTEM_INFO_ERROR");
+               }
+
+               if (SYSTEM_INFO_ERROR_NONE == system_info_get_platform_bool(_FEATURE_NAME_TELEPHONY, &enabled)) {
+                       ms_info("telephony status = %d", enabled);
+                       if (enabled)
+                               supported = TRUE;
+               } else {
+                       ms_error("SYSTEM_INFO_ERROR");
+               }
+
+               if (SYSTEM_INFO_ERROR_NONE == system_info_get_platform_bool(_FEATURE_NAME_ETHERNET, &enabled)) {
+                       ms_info("ethernet status = %d", enabled);
+                       if (enabled)
+                               supported = TRUE;
+               } else {
+                       ms_error("SYSTEM_INFO_ERROR");
                }
+               if (!supported)
+                       ret = MEDIA_STREAMER_ERROR_NOT_SUPPORTED;
+               break;
+       default:
+               ms_info("For current Sink Node subtype [%d] privileges are not needed", node->subtype);
+               break;
        }
 
        ms_debug_fleave();
@@ -601,7 +612,7 @@ int __ms_src_node_create(media_streamer_node_s *node)
                return ret;
        }
 
-       ret = __ms_node_check_feature(node);
+       ret = __ms_src_node_check_feature(node);
        if (ret != MEDIA_STREAMER_ERROR_NONE) {
                ms_error("Error getting feature for Src Node");
                return ret;
@@ -732,7 +743,7 @@ int __ms_sink_node_create(media_streamer_node_s *node)
                return ret;
        }
 
-       ret = __ms_node_check_feature(node);
+       ret = __ms_sink_node_check_feature(node);
        if (ret != MEDIA_STREAMER_ERROR_NONE) {
                ms_error("Error getting feature for Sink Node");
                return ret;