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 {
}
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)
}
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)
}
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)
}
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)