}
+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));
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)