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