webrtc_private: Remove workaround codes regarding negotiation needed callback 86/262986/1 accepted/tizen/unified/20210826.123617 submit/tizen/20210825.083902
authorSangchul Lee <sc11.lee@samsung.com>
Tue, 24 Aug 2021 08:14:16 +0000 (17:14 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Tue, 24 Aug 2021 08:14:32 +0000 (17:14 +0900)
[Version] 0.2.81
[Issue Type] Improvement

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

index 6b2ad59ccefc26decff91e5db25baae1a821b469..9c0fbcc3ccd62a01f789f0829aa9e2b82ac545a3 100644 (file)
@@ -412,11 +412,6 @@ typedef struct _webrtc_s {
 
        webrtc_callbacks_s stats_cb;
 
-       /* FIXME: Once signal is emitted by webrtcbin, it'll not be triggered
-        * even if the pipeline state is changed to NULL to PLAYING again.
-        * This variable could be removed, some improvements are applied to webrtcbin. */
-       bool negotiation_needed_cb_invoked;
-
        webrtc_negotiation_states_s negotiation_states;
 #ifndef TIZEN_TV
        webrtc_resource_s resource;
index 64acc98d553940a3aef0628a46308be2188492e5..3891412da8217497830649cee3aa6f74606b8041 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-webrtc
 Summary:    A WebRTC library in Tizen Native API
-Version:    0.2.80
+Version:    0.2.81
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index 33095653230491e0fdf52b65b3fa54a6355e87f9..279c158bd259eee457ee0ffe95e20e983d5b978e 100644 (file)
@@ -206,14 +206,11 @@ static gchar *__make_ice_candidate_message(guint mlineindex, gchar *candidate)
        return text;
 }
 
-static bool __meet_gst_state(webrtc_state_e state, GstState gst_state, bool negotiation_needed_cb_invoked)
+static bool __meet_gst_state(webrtc_state_e state, GstState gst_state)
 {
        if (state == WEBRTC_STATE_IDLE && gst_state == GST_STATE_READY)
                return true;
 
-       if (state == WEBRTC_STATE_NEGOTIATING && gst_state == GST_STATE_PLAYING && negotiation_needed_cb_invoked)
-               return true;
-
        return false;
 }
 
@@ -363,7 +360,7 @@ static gboolean __bus_watch_cb(GstBus *bus, GstMessage *message, gpointer user_d
                        break;
                }
 
-               if (__meet_gst_state(webrtc->pend_state, gst_state_new, webrtc->negotiation_needed_cb_invoked)) {
+               if (__meet_gst_state(webrtc->pend_state, gst_state_new)) {
                        webrtc_state_e old_state = webrtc->state;
                        webrtc->state = webrtc->pend_state;
                        g_clear_pointer(&locker, g_mutex_locker_free);
@@ -792,7 +789,6 @@ static void __webrtcbin_on_negotiation_needed_cb(GstElement *webrtcbin, gpointer
        RET_IF(webrtc == NULL, "webrtc is NULL");
 
        _post_state_cb_in_idle(webrtc, WEBRTC_STATE_NEGOTIATING);
-       webrtc->negotiation_needed_cb_invoked = true;
 
        if (webrtc->negotiation_needed_cb.callback == NULL) {
                LOG_DEBUG("negotiation_needed_cb is NULL, skip it");