Created attachment 124875 [details] [review]
call-stream: fix endpoint and jingle transport states mapping
The function _endpoint_state_changed_cb() passes an enum TpStreamEndpointState between tp_call_stream_endpoint_get_state() and wocky_jingle_content_set_transport_state() without conversion, this last function expecting an enum WockyJingleTransportState, which is not completely equivalent.
TP_STREAM_ENDPOINT_STATE_CONNECTING = 0,
TP_STREAM_ENDPOINT_STATE_PROVISIONALLY_CONNECTED = 1,
TP_STREAM_ENDPOINT_STATE_FULLY_CONNECTED = 2,
TP_STREAM_ENDPOINT_STATE_EXHAUSTED_CANDIDATES = 3,
TP_STREAM_ENDPOINT_STATE_FAILED = 4,
The visible consequence is that jingle considers that the connection is established (and the media stream can start flowing) when the endpoint state is /fully/ connected (value 3 for both enums), instead of /provisionally/ connected only. This may have a significant impact when the state provisionally connected is reached very early, and the state fully connected takes much more time.