From: Sangchul Lee Date: Thu, 7 Jan 2021 02:47:46 +0000 (+0900) Subject: webrtc_private: Have internal states in handle X-Git-Tag: submit/tizen/20210729.023123~162 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=117a0ed7f12214d1deb012882dd8f36e1984b83c;p=platform%2Fcore%2Fapi%2Fwebrtc.git webrtc_private: Have internal states in handle Signaling state, peer connection state, ice connection state and ice gathering state are defined as internal state. The last states of those are kept in webrtc handle. [Version] 0.1.79 [Issue Type] Improvement Change-Id: I89b4ac5306ea6e111640199dc5f62989f35e3b41 Signed-off-by: Sangchul Lee --- diff --git a/include/webrtc_private.h b/include/webrtc_private.h index 96580831..9f230d97 100644 --- a/include/webrtc_private.h +++ b/include/webrtc_private.h @@ -290,6 +290,13 @@ typedef struct _webrtc_s { webrtc_callbacks_s ice_candidate_cb; webrtc_callbacks_s track_added_cb; webrtc_callbacks_s data_channel_cb; + + struct { + const gchar *signaling_state; + const gchar *peer_connection_state; + const gchar *ice_connection_state; + const gchar *ice_gathering_state; + } internal_states; } webrtc_s; typedef struct _webrtc_data_channel_s { diff --git a/packaging/capi-media-webrtc.spec b/packaging/capi-media-webrtc.spec index 1bdc65d7..72b1baab 100644 --- a/packaging/capi-media-webrtc.spec +++ b/packaging/capi-media-webrtc.spec @@ -1,6 +1,6 @@ Name: capi-media-webrtc Summary: A WebRTC library in Tizen Native API -Version: 0.1.78 +Version: 0.1.79 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/webrtc_private.c b/src/webrtc_private.c index afeb3da6..4f00b584 100644 --- a/src/webrtc_private.c +++ b/src/webrtc_private.c @@ -557,6 +557,8 @@ static void __webrtcbin_peer_connection_state_cb(GstElement *webrtcbin, GParamSp } LOG_DEBUG("[PeerConnectionState] is changed to [%s]", new_state); + + webrtc->internal_states.peer_connection_state = new_state; } static void __webrtcbin_signaling_state_cb(GstElement *webrtcbin, GParamSpec * pspec, gpointer user_data) @@ -597,6 +599,8 @@ static void __webrtcbin_signaling_state_cb(GstElement *webrtcbin, GParamSpec * p } LOG_DEBUG("[SignalingState] is changed to [%s]", new_state); + + webrtc->internal_states.signaling_state = new_state; } static void __webrtcbin_ice_gathering_state_cb(GstElement *webrtcbin, GParamSpec * pspec, gpointer user_data) @@ -625,6 +629,8 @@ static void __webrtcbin_ice_gathering_state_cb(GstElement *webrtcbin, GParamSpec } LOG_DEBUG("[IceGatheringState] is changed to [%s]", new_state); + + webrtc->internal_states.ice_gathering_state = new_state; } static void __webrtcbin_ice_connection_state_cb(GstElement *webrtcbin, GParamSpec * pspec, gpointer user_data) @@ -671,6 +677,8 @@ static void __webrtcbin_ice_connection_state_cb(GstElement *webrtcbin, GParamSpe } LOG_DEBUG("[IceConnectionState] is changed to [%s]", new_state); + + webrtc->internal_states.ice_connection_state = new_state; } static GstPad* __add_no_target_ghostpad(GstElement *bin, const char *pad_name, bool is_src)