webrtc_ini: Add new item to enable to dump incoming streams 77/279377/2
authorSangchul Lee <sc11.lee@samsung.com>
Mon, 8 Aug 2022 05:21:10 +0000 (14:21 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Tue, 9 Aug 2022 02:36:43 +0000 (11:36 +0900)
Default dump path is '/tmp'. If 'dump incoming streams' in ini file is
set to yes, then encoded streams received from a remote peer will be
dumped to files located in the dump path.

e.g)
[general]
dump path = /tmp
dump incoming streams = yes

[Version] 0.3.198
[Issue Type] New feature

Change-Id: Ifd3d8d445ad67e2e0d0ef588c266231e0d33dcdd
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
include/webrtc_private.h
packaging/capi-media-webrtc.spec
src/webrtc_ini.c

index 4a9966bc74e5450731adfb91a66e6245530340aa..1162bcbaaef887201030891aaa21c428284ff31f 100644 (file)
@@ -328,6 +328,8 @@ typedef     struct _ini_item_general_s {
        bool verbose_log;
        bool nice_verbose;
        bool network_simulator;
+       bool dump_incoming_streams;
+       const char *dump_path;
        GStrv gst_args;
        GStrv gst_excluded_elements;
        const char *stun_server;
index 1360924f359eb8bce2ccb2edc7ba767d51333593..8ea0184c0c1e1822555fa6e495f7a974d121de9e 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-webrtc
 Summary:    A WebRTC library in Tizen Native API
-Version:    0.3.197
+Version:    0.3.198
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index 67a0ef778a906b50db24f563a6ff7279da9f958e..39c30b80f38c8d66affddda779ee9f8d1629280f 100644 (file)
@@ -24,6 +24,8 @@
 #define DEFAULT_VERBOSE_LOG               false
 #define DEFAULT_NICE_VERBOSE              false
 #define DEFAULT_NETWORK_SIMULATOR         false
+#define DEFAULT_DUMP_INCOMING_STREAMS     false
+#define DEFAULT_DUMP_PATH                 "/tmp"
 #define DEFAULT_JITTERBUFFER_LATENCY      200  /* ms */
 #define DEFAULT_BUNDLE_POLICY             GST_WEBRTC_BUNDLE_POLICY_MAX_BUNDLE
 
@@ -51,6 +53,8 @@
 #define INI_ITEM_VERBOSE_LOG              "verbose log"
 #define INI_ITEM_NICE_VERBOSE             "nice verbose"
 #define INI_ITEM_NETWORK_SIMULATOR        "network simulator"
+#define INI_ITEM_DUMP_PATH                "dump path"
+#define INI_ITEM_DUMP_INCOMING_STREAMS    "dump incoming streams"
 #define INI_ITEM_GST_ARGS                 "gstreamer arguments"
 #define INI_ITEM_GST_EXCLUDED_ELEMENTS    "gstreamer excluded elements"
 #define INI_ITEM_STUN_SERVER              "stun server"
@@ -229,6 +233,8 @@ static void __dump_ini(webrtc_ini_s *ini)
        __dump_item(INI_ITEM_VERBOSE_LOG, INI_ITEM_TYPE_BOOL, &ini->general.verbose_log);
        __dump_item(INI_ITEM_NICE_VERBOSE, INI_ITEM_TYPE_BOOL, &ini->general.nice_verbose);
        __dump_item(INI_ITEM_NETWORK_SIMULATOR, INI_ITEM_TYPE_BOOL, &ini->general.network_simulator);
+       __dump_item(INI_ITEM_DUMP_INCOMING_STREAMS, INI_ITEM_TYPE_BOOL, &ini->general.dump_incoming_streams);
+       __dump_item(INI_ITEM_DUMP_PATH, INI_ITEM_TYPE_STRING, (void *)ini->general.dump_path);
        __dump_item(INI_ITEM_GST_ARGS, INI_ITEM_TYPE_STRINGS, ini->general.gst_args);
        __dump_item(INI_ITEM_GST_EXCLUDED_ELEMENTS, INI_ITEM_TYPE_STRINGS, ini->general.gst_excluded_elements);
        __dump_item(INI_ITEM_STUN_SERVER, INI_ITEM_TYPE_STRING, (void *)ini->general.stun_server);
@@ -493,7 +499,7 @@ void _load_ini(webrtc_s *webrtc)
        ini->general.generate_dot = __ini_get_boolean(ini->dict, INI_CATEGORY_GENERAL, INI_ITEM_DOT_GENERATE, DEFAULT_GENERATE_DOT);
        ini->general.dot_path = __ini_get_string(ini->dict, INI_CATEGORY_GENERAL, INI_ITEM_DOT_PATH, DEFAULT_DOT_PATH);
        if (ini->general.generate_dot) {
-               LOG_INFO("dot file will be stored in [%s]", ini->general.dot_path);
+               LOG_INFO("dot files will be stored in [%s]", ini->general.dot_path);
                g_setenv("GST_DEBUG_DUMP_DOT_DIR", ini->general.dot_path, FALSE);
        }
        ini->general.stats_log_period = __ini_get_int(ini->dict, INI_CATEGORY_GENERAL, INI_ITEM_STATS_LOG_PERIOD, DEFAULT_STATS_LOG_PERIOD);
@@ -502,6 +508,10 @@ void _load_ini(webrtc_s *webrtc)
        if (ini->general.nice_verbose)
                g_setenv("NICE_DEBUG", "nice-verbose", TRUE);
        ini->general.network_simulator = __ini_get_boolean(ini->dict, INI_CATEGORY_GENERAL, INI_ITEM_NETWORK_SIMULATOR, DEFAULT_NETWORK_SIMULATOR);
+       ini->general.dump_incoming_streams = __ini_get_boolean(ini->dict, INI_CATEGORY_GENERAL, INI_ITEM_DUMP_INCOMING_STREAMS, DEFAULT_DUMP_INCOMING_STREAMS);
+       ini->general.dump_path = __ini_get_string(ini->dict, INI_CATEGORY_GENERAL, INI_ITEM_DUMP_PATH, DEFAULT_DUMP_PATH);
+       if (ini->general.dump_incoming_streams)
+               LOG_INFO("dump files will be stored in [%s]", ini->general.dump_path);
        __ini_read_list(ini->dict, INI_CATEGORY_GENERAL, INI_ITEM_GST_ARGS, &ini->general.gst_args, NULL);
        __ini_read_list(ini->dict, INI_CATEGORY_GENERAL, INI_ITEM_GST_EXCLUDED_ELEMENTS, &ini->general.gst_excluded_elements, NULL);
        ini->general.stun_server = __ini_get_string(ini->dict, INI_CATEGORY_GENERAL, INI_ITEM_STUN_SERVER, NULL);