Add function to dump ini setttings 15/239515/3
authorSangchul Lee <sc11.lee@samsung.com>
Mon, 27 Jul 2020 09:02:49 +0000 (18:02 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Mon, 27 Jul 2020 23:57:26 +0000 (08:57 +0900)
[Version] 0.1.104
[Issue Type] Improvement

Change-Id: I5be9fef4ad7b52543ccc0cc5f7446d1221a7cd15
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
packaging/capi-media-streamer.spec
src/media_streamer_util.c

index b48779a..93456c4 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-streamer
 Summary:    A Media Streamer API
-Version:    0.1.103
+Version:    0.1.104
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index 273c607..d871ac5 100644 (file)
@@ -185,6 +185,43 @@ void ms_ini_read_list(const char *key, gchar ***list)
 
 }
 
+typedef enum {
+       INI_ITEM_TYPE_BOOL,
+       INI_ITEM_TYPE_STRINGS
+} ini_item_type_e;
+
+static void __dump_item(const char *prefix_str, ini_item_type_e type, void *item)
+{
+       ms_retm_if(!prefix_str, "prefix_str is NULL");
+       ms_retm_if(!item, "item is NULL");
+
+       switch (type) {
+       case INI_ITEM_TYPE_BOOL:
+               ms_debug("%s: %s", prefix_str, *(gboolean*)item ? "yes" : "no");
+               break;
+       case INI_ITEM_TYPE_STRINGS: {
+               gchar *joined_str = g_strjoinv(" ", item);
+               ms_debug("%s: %s", prefix_str, joined_str);
+               g_free(joined_str);
+               break;
+       }
+       default:
+               ms_error("not supported type[%d]", type);
+               break;
+       }
+}
+
+static void __ms_dump_ini_settings(media_streamer_ini_t *ini)
+{
+       ms_retm_if(!ini, "ini is NULL");
+
+       __dump_item("[generate dot]", INI_ITEM_TYPE_BOOL, &ini->generate_dot);
+       __dump_item("[use decodebin]", INI_ITEM_TYPE_BOOL, &ini->use_decodebin);
+       __dump_item("[exclude elements]", INI_ITEM_TYPE_STRINGS, ini->exclude_elem_names);
+       __dump_item("[resource elements]", INI_ITEM_TYPE_STRINGS, ini->resource_required_elem_names);
+       __dump_item("[gstreamer arguments]", INI_ITEM_TYPE_STRINGS, ini->gst_args);
+}
+
 void ms_load_ini_settings(media_streamer_ini_t *ini)
 {
        memset(ini, 0, sizeof(media_streamer_ini_t));
@@ -213,9 +250,7 @@ void ms_load_ini_settings(media_streamer_ini_t *ini)
                ini->use_decodebin = DEFAULT_USE_DECODEBIN;
        }
 
-       /* TODO: dump all ini settings */
-       ms_debug("Media Streamer param [generate_dot] : %d", ini->generate_dot);
-       ms_debug("Media Streamer param [use_decodebin] : %d", ini->use_decodebin);
+       __ms_dump_ini_settings(ini);
 }
 
 void ms_unload_ini_settings(media_streamer_ini_t *ini)