mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-25 08:38:21 +00:00
webrtcbin: Don't duplicate enum string values
Some were leaked when debugging was enabled. Instead just directly use the static strings as-is. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3347>
This commit is contained in:
parent
605cb6a4d4
commit
a100f36b69
6 changed files with 45 additions and 120 deletions
|
@ -1441,7 +1441,7 @@ _update_ice_gathering_state_task (GstWebRTCBin * webrtc, gpointer data)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (new_state != webrtc->ice_gathering_state) {
|
if (new_state != webrtc->ice_gathering_state) {
|
||||||
gchar *old_s, *new_s;
|
const gchar *old_s, *new_s;
|
||||||
|
|
||||||
old_s = _enum_value_to_string (GST_TYPE_WEBRTC_ICE_GATHERING_STATE,
|
old_s = _enum_value_to_string (GST_TYPE_WEBRTC_ICE_GATHERING_STATE,
|
||||||
old_state);
|
old_state);
|
||||||
|
@ -1449,8 +1449,6 @@ _update_ice_gathering_state_task (GstWebRTCBin * webrtc, gpointer data)
|
||||||
new_state);
|
new_state);
|
||||||
GST_INFO_OBJECT (webrtc, "ICE gathering state change from %s(%u) to %s(%u)",
|
GST_INFO_OBJECT (webrtc, "ICE gathering state change from %s(%u) to %s(%u)",
|
||||||
old_s, old_state, new_s, new_state);
|
old_s, old_state, new_s, new_state);
|
||||||
g_free (old_s);
|
|
||||||
g_free (new_s);
|
|
||||||
|
|
||||||
webrtc->ice_gathering_state = new_state;
|
webrtc->ice_gathering_state = new_state;
|
||||||
PC_UNLOCK (webrtc);
|
PC_UNLOCK (webrtc);
|
||||||
|
@ -1477,7 +1475,7 @@ _update_ice_connection_state_task (GstWebRTCBin * webrtc, gpointer data)
|
||||||
new_state = _collate_ice_connection_states (webrtc);
|
new_state = _collate_ice_connection_states (webrtc);
|
||||||
|
|
||||||
if (new_state != old_state) {
|
if (new_state != old_state) {
|
||||||
gchar *old_s, *new_s;
|
const gchar *old_s, *new_s;
|
||||||
|
|
||||||
old_s = _enum_value_to_string (GST_TYPE_WEBRTC_ICE_CONNECTION_STATE,
|
old_s = _enum_value_to_string (GST_TYPE_WEBRTC_ICE_CONNECTION_STATE,
|
||||||
old_state);
|
old_state);
|
||||||
|
@ -1486,8 +1484,6 @@ _update_ice_connection_state_task (GstWebRTCBin * webrtc, gpointer data)
|
||||||
GST_INFO_OBJECT (webrtc,
|
GST_INFO_OBJECT (webrtc,
|
||||||
"ICE connection state change from %s(%u) to %s(%u)", old_s, old_state,
|
"ICE connection state change from %s(%u) to %s(%u)", old_s, old_state,
|
||||||
new_s, new_state);
|
new_s, new_state);
|
||||||
g_free (old_s);
|
|
||||||
g_free (new_s);
|
|
||||||
|
|
||||||
webrtc->ice_connection_state = new_state;
|
webrtc->ice_connection_state = new_state;
|
||||||
PC_UNLOCK (webrtc);
|
PC_UNLOCK (webrtc);
|
||||||
|
@ -1514,7 +1510,7 @@ _update_peer_connection_state_task (GstWebRTCBin * webrtc, gpointer data)
|
||||||
new_state = _collate_peer_connection_states (webrtc);
|
new_state = _collate_peer_connection_states (webrtc);
|
||||||
|
|
||||||
if (new_state != old_state) {
|
if (new_state != old_state) {
|
||||||
gchar *old_s, *new_s;
|
const gchar *old_s, *new_s;
|
||||||
|
|
||||||
old_s = _enum_value_to_string (GST_TYPE_WEBRTC_PEER_CONNECTION_STATE,
|
old_s = _enum_value_to_string (GST_TYPE_WEBRTC_PEER_CONNECTION_STATE,
|
||||||
old_state);
|
old_state);
|
||||||
|
@ -1523,8 +1519,6 @@ _update_peer_connection_state_task (GstWebRTCBin * webrtc, gpointer data)
|
||||||
GST_INFO_OBJECT (webrtc,
|
GST_INFO_OBJECT (webrtc,
|
||||||
"Peer connection state change from %s(%u) to %s(%u)", old_s, old_state,
|
"Peer connection state change from %s(%u) to %s(%u)", old_s, old_state,
|
||||||
new_s, new_state);
|
new_s, new_state);
|
||||||
g_free (old_s);
|
|
||||||
g_free (new_s);
|
|
||||||
|
|
||||||
webrtc->peer_connection_state = new_state;
|
webrtc->peer_connection_state = new_state;
|
||||||
PC_UNLOCK (webrtc);
|
PC_UNLOCK (webrtc);
|
||||||
|
@ -1672,26 +1666,11 @@ _check_if_negotiation_is_needed (GstWebRTCBin * webrtc)
|
||||||
* nor answer matches t's direction, return "true". */
|
* nor answer matches t's direction, return "true". */
|
||||||
|
|
||||||
if (local_dir != trans->direction && remote_dir != trans->direction) {
|
if (local_dir != trans->direction && remote_dir != trans->direction) {
|
||||||
gchar *local_str, *remote_str, *dir_str;
|
|
||||||
|
|
||||||
local_str =
|
|
||||||
_enum_value_to_string (GST_TYPE_WEBRTC_RTP_TRANSCEIVER_DIRECTION,
|
|
||||||
local_dir);
|
|
||||||
remote_str =
|
|
||||||
_enum_value_to_string (GST_TYPE_WEBRTC_RTP_TRANSCEIVER_DIRECTION,
|
|
||||||
remote_dir);
|
|
||||||
dir_str =
|
|
||||||
_enum_value_to_string (GST_TYPE_WEBRTC_RTP_TRANSCEIVER_DIRECTION,
|
|
||||||
trans->direction);
|
|
||||||
|
|
||||||
GST_LOG_OBJECT (webrtc, "transceiver direction (%s) doesn't match "
|
GST_LOG_OBJECT (webrtc, "transceiver direction (%s) doesn't match "
|
||||||
"description (local %s remote %s)", dir_str, local_str,
|
"description (local %s remote %s)",
|
||||||
remote_str);
|
gst_webrtc_rtp_transceiver_direction_to_string (trans->direction),
|
||||||
|
gst_webrtc_rtp_transceiver_direction_to_string (local_dir),
|
||||||
g_free (dir_str);
|
gst_webrtc_rtp_transceiver_direction_to_string (remote_dir));
|
||||||
g_free (local_str);
|
|
||||||
g_free (remote_str);
|
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
} else if (webrtc->current_local_description->type ==
|
} else if (webrtc->current_local_description->type ==
|
||||||
|
@ -1707,30 +1686,12 @@ _check_if_negotiation_is_needed (GstWebRTCBin * webrtc)
|
||||||
intersect_dir = _intersect_answer_directions (remote_dir, local_dir);
|
intersect_dir = _intersect_answer_directions (remote_dir, local_dir);
|
||||||
|
|
||||||
if (intersect_dir != trans->direction) {
|
if (intersect_dir != trans->direction) {
|
||||||
gchar *local_str, *remote_str, *inter_str, *dir_str;
|
|
||||||
|
|
||||||
local_str =
|
|
||||||
_enum_value_to_string (GST_TYPE_WEBRTC_RTP_TRANSCEIVER_DIRECTION,
|
|
||||||
local_dir);
|
|
||||||
remote_str =
|
|
||||||
_enum_value_to_string (GST_TYPE_WEBRTC_RTP_TRANSCEIVER_DIRECTION,
|
|
||||||
remote_dir);
|
|
||||||
dir_str =
|
|
||||||
_enum_value_to_string (GST_TYPE_WEBRTC_RTP_TRANSCEIVER_DIRECTION,
|
|
||||||
trans->direction);
|
|
||||||
inter_str =
|
|
||||||
_enum_value_to_string (GST_TYPE_WEBRTC_RTP_TRANSCEIVER_DIRECTION,
|
|
||||||
intersect_dir);
|
|
||||||
|
|
||||||
GST_LOG_OBJECT (webrtc, "transceiver direction (%s) doesn't match "
|
GST_LOG_OBJECT (webrtc, "transceiver direction (%s) doesn't match "
|
||||||
"description intersected direction %s (local %s remote %s)",
|
"description intersected direction %s (local %s remote %s)",
|
||||||
dir_str, local_str, inter_str, remote_str);
|
gst_webrtc_rtp_transceiver_direction_to_string (trans->direction),
|
||||||
|
gst_webrtc_rtp_transceiver_direction_to_string (local_dir),
|
||||||
g_free (dir_str);
|
gst_webrtc_rtp_transceiver_direction_to_string (intersect_dir),
|
||||||
g_free (local_str);
|
gst_webrtc_rtp_transceiver_direction_to_string (remote_dir));
|
||||||
g_free (remote_str);
|
|
||||||
g_free (inter_str);
|
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2289,7 +2250,6 @@ _create_webrtc_transceiver (GstWebRTCBin * webrtc,
|
||||||
GstWebRTCRTPTransceiverDirection direction, guint mline, GstWebRTCKind kind,
|
GstWebRTCRTPTransceiverDirection direction, guint mline, GstWebRTCKind kind,
|
||||||
GstCaps * codec_preferences)
|
GstCaps * codec_preferences)
|
||||||
{
|
{
|
||||||
char *dir_str = gst_webrtc_rtp_transceiver_direction_to_string (direction);
|
|
||||||
WebRTCTransceiver *trans;
|
WebRTCTransceiver *trans;
|
||||||
GstWebRTCRTPTransceiver *rtp_trans;
|
GstWebRTCRTPTransceiver *rtp_trans;
|
||||||
GstWebRTCRTPSender *sender;
|
GstWebRTCRTPSender *sender;
|
||||||
|
@ -2308,8 +2268,9 @@ _create_webrtc_transceiver (GstWebRTCBin * webrtc,
|
||||||
rtp_trans->stopped = FALSE;
|
rtp_trans->stopped = FALSE;
|
||||||
|
|
||||||
GST_LOG_OBJECT (webrtc, "created new transceiver %" GST_PTR_FORMAT " with "
|
GST_LOG_OBJECT (webrtc, "created new transceiver %" GST_PTR_FORMAT " with "
|
||||||
"direction %s (%d), mline %u, kind %s (%d)", rtp_trans, dir_str,
|
"direction %s (%d), mline %u, kind %s (%d)", rtp_trans,
|
||||||
direction, mline, gst_webrtc_kind_to_string (kind), kind);
|
gst_webrtc_rtp_transceiver_direction_to_string (direction), direction,
|
||||||
|
mline, gst_webrtc_kind_to_string (kind), kind);
|
||||||
|
|
||||||
g_signal_connect_object (sender, "notify::priority",
|
g_signal_connect_object (sender, "notify::priority",
|
||||||
G_CALLBACK (gst_webrtc_bin_attach_tos), webrtc, G_CONNECT_SWAPPED);
|
G_CALLBACK (gst_webrtc_bin_attach_tos), webrtc, G_CONNECT_SWAPPED);
|
||||||
|
@ -2322,8 +2283,6 @@ _create_webrtc_transceiver (GstWebRTCBin * webrtc,
|
||||||
g_signal_emit (webrtc, gst_webrtc_bin_signals[ON_NEW_TRANSCEIVER_SIGNAL],
|
g_signal_emit (webrtc, gst_webrtc_bin_signals[ON_NEW_TRANSCEIVER_SIGNAL],
|
||||||
0, trans);
|
0, trans);
|
||||||
|
|
||||||
g_free (dir_str);
|
|
||||||
|
|
||||||
return trans;
|
return trans;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3215,7 +3174,7 @@ sdp_media_from_transceiver (GstWebRTCBin * webrtc, GstSDPMedia * media,
|
||||||
* multiple dtls fingerprints https://tools.ietf.org/html/draft-ietf-mmusic-4572-update-05
|
* multiple dtls fingerprints https://tools.ietf.org/html/draft-ietf-mmusic-4572-update-05
|
||||||
*/
|
*/
|
||||||
GstSDPMessage *last_offer = _get_latest_self_generated_sdp (webrtc);
|
GstSDPMessage *last_offer = _get_latest_self_generated_sdp (webrtc);
|
||||||
gchar *direction, *ufrag, *pwd, *mid = NULL;
|
gchar *ufrag, *pwd, *mid = NULL;
|
||||||
gboolean bundle_only;
|
gboolean bundle_only;
|
||||||
guint rtp_session_idx;
|
guint rtp_session_idx;
|
||||||
GstCaps *caps;
|
GstCaps *caps;
|
||||||
|
@ -3328,11 +3287,8 @@ sdp_media_from_transceiver (GstWebRTCBin * webrtc, GstSDPMedia * media,
|
||||||
gst_sdp_media_add_attribute (media, "rtcp-mux", "");
|
gst_sdp_media_add_attribute (media, "rtcp-mux", "");
|
||||||
gst_sdp_media_add_attribute (media, "rtcp-rsize", NULL);
|
gst_sdp_media_add_attribute (media, "rtcp-rsize", NULL);
|
||||||
|
|
||||||
direction =
|
gst_sdp_media_add_attribute (media,
|
||||||
_enum_value_to_string (GST_TYPE_WEBRTC_RTP_TRANSCEIVER_DIRECTION,
|
gst_webrtc_rtp_transceiver_direction_to_string (trans->direction), "");
|
||||||
trans->direction);
|
|
||||||
gst_sdp_media_add_attribute (media, direction, "");
|
|
||||||
g_free (direction);
|
|
||||||
|
|
||||||
caps = gst_caps_make_writable (caps);
|
caps = gst_caps_make_writable (caps);
|
||||||
|
|
||||||
|
@ -5567,23 +5523,12 @@ _update_transceiver_from_sdp_media (GstWebRTCBin * webrtc,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (new_dir != prev_dir) {
|
if (new_dir != prev_dir) {
|
||||||
gchar *prev_dir_s, *new_dir_s;
|
|
||||||
guint rtp_session_id = bundled ? bundle_idx : media_idx;
|
guint rtp_session_id = bundled ? bundle_idx : media_idx;
|
||||||
|
|
||||||
prev_dir_s =
|
|
||||||
_enum_value_to_string (GST_TYPE_WEBRTC_RTP_TRANSCEIVER_DIRECTION,
|
|
||||||
prev_dir);
|
|
||||||
new_dir_s =
|
|
||||||
_enum_value_to_string (GST_TYPE_WEBRTC_RTP_TRANSCEIVER_DIRECTION,
|
|
||||||
new_dir);
|
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (webrtc, "transceiver %" GST_PTR_FORMAT
|
GST_DEBUG_OBJECT (webrtc, "transceiver %" GST_PTR_FORMAT
|
||||||
" direction change from %s to %s", rtp_trans, prev_dir_s, new_dir_s);
|
" direction change from %s to %s", rtp_trans,
|
||||||
|
gst_webrtc_rtp_transceiver_direction_to_string (prev_dir),
|
||||||
g_free (prev_dir_s);
|
gst_webrtc_rtp_transceiver_direction_to_string (new_dir));
|
||||||
prev_dir_s = NULL;
|
|
||||||
g_free (new_dir_s);
|
|
||||||
new_dir_s = NULL;
|
|
||||||
|
|
||||||
if (new_dir == GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_INACTIVE) {
|
if (new_dir == GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_INACTIVE) {
|
||||||
GstWebRTCBinPad *pad;
|
GstWebRTCBinPad *pad;
|
||||||
|
@ -6059,25 +6004,23 @@ check_locked_mlines (GstWebRTCBin * webrtc, GstWebRTCSessionDescription * sdp,
|
||||||
if (rtp_trans->kind != GST_WEBRTC_KIND_UNKNOWN) {
|
if (rtp_trans->kind != GST_WEBRTC_KIND_UNKNOWN) {
|
||||||
if (!g_strcmp0 (gst_sdp_media_get_media (media), "audio") &&
|
if (!g_strcmp0 (gst_sdp_media_get_media (media), "audio") &&
|
||||||
rtp_trans->kind != GST_WEBRTC_KIND_AUDIO) {
|
rtp_trans->kind != GST_WEBRTC_KIND_AUDIO) {
|
||||||
char *trans_kind = gst_webrtc_kind_to_string (rtp_trans->kind);
|
|
||||||
g_set_error (error, GST_WEBRTC_ERROR,
|
g_set_error (error, GST_WEBRTC_ERROR,
|
||||||
GST_WEBRTC_ERROR_INTERNAL_FAILURE,
|
GST_WEBRTC_ERROR_INTERNAL_FAILURE,
|
||||||
"m-line %d with transceiver <%s> was locked to %s, but SDP has "
|
"m-line %d with transceiver <%s> was locked to %s, but SDP has "
|
||||||
"%s media", i, GST_OBJECT_NAME (rtp_trans), trans_kind,
|
"%s media", i, GST_OBJECT_NAME (rtp_trans),
|
||||||
|
gst_webrtc_kind_to_string (rtp_trans->kind),
|
||||||
gst_sdp_media_get_media (media));
|
gst_sdp_media_get_media (media));
|
||||||
g_free (trans_kind);
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!g_strcmp0 (gst_sdp_media_get_media (media), "video") &&
|
if (!g_strcmp0 (gst_sdp_media_get_media (media), "video") &&
|
||||||
rtp_trans->kind != GST_WEBRTC_KIND_VIDEO) {
|
rtp_trans->kind != GST_WEBRTC_KIND_VIDEO) {
|
||||||
char *trans_kind = gst_webrtc_kind_to_string (rtp_trans->kind);
|
|
||||||
g_set_error (error, GST_WEBRTC_ERROR,
|
g_set_error (error, GST_WEBRTC_ERROR,
|
||||||
GST_WEBRTC_ERROR_INTERNAL_FAILURE,
|
GST_WEBRTC_ERROR_INTERNAL_FAILURE,
|
||||||
"m-line %d with transceiver <%s> was locked to %s, but SDP has "
|
"m-line %d with transceiver <%s> was locked to %s, but SDP has "
|
||||||
"%s media", i, GST_OBJECT_NAME (rtp_trans), trans_kind,
|
"%s media", i, GST_OBJECT_NAME (rtp_trans),
|
||||||
|
gst_webrtc_kind_to_string (rtp_trans->kind),
|
||||||
gst_sdp_media_get_media (media));
|
gst_sdp_media_get_media (media));
|
||||||
g_free (trans_kind);
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6158,17 +6101,15 @@ _set_description_task (GstWebRTCBin * webrtc, struct set_description *sd)
|
||||||
guint i;
|
guint i;
|
||||||
|
|
||||||
{
|
{
|
||||||
gchar *state = _enum_value_to_string (GST_TYPE_WEBRTC_SIGNALING_STATE,
|
const gchar *state = _enum_value_to_string (GST_TYPE_WEBRTC_SIGNALING_STATE,
|
||||||
webrtc->signaling_state);
|
webrtc->signaling_state);
|
||||||
gchar *type_str =
|
const gchar *type_str =
|
||||||
_enum_value_to_string (GST_TYPE_WEBRTC_SDP_TYPE, sd->sdp->type);
|
_enum_value_to_string (GST_TYPE_WEBRTC_SDP_TYPE, sd->sdp->type);
|
||||||
gchar *sdp_text = gst_sdp_message_as_text (sd->sdp->sdp);
|
gchar *sdp_text = gst_sdp_message_as_text (sd->sdp->sdp);
|
||||||
GST_INFO_OBJECT (webrtc, "Attempting to set %s %s in the %s state",
|
GST_INFO_OBJECT (webrtc, "Attempting to set %s %s in the %s state",
|
||||||
_sdp_source_to_string (sd->source), type_str, state);
|
_sdp_source_to_string (sd->source), type_str, state);
|
||||||
GST_TRACE_OBJECT (webrtc, "SDP contents\n%s", sdp_text);
|
GST_TRACE_OBJECT (webrtc, "SDP contents\n%s", sdp_text);
|
||||||
g_free (sdp_text);
|
g_free (sdp_text);
|
||||||
g_free (state);
|
|
||||||
g_free (type_str);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!validate_sdp (webrtc->signaling_state, sd->source, sd->sdp, &error))
|
if (!validate_sdp (webrtc->signaling_state, sd->source, sd->sdp, &error))
|
||||||
|
@ -6505,18 +6446,15 @@ _set_description_task (GstWebRTCBin * webrtc, struct set_description *sd)
|
||||||
* signalingstatechange at connection.
|
* signalingstatechange at connection.
|
||||||
*/
|
*/
|
||||||
if (signalling_state_changed) {
|
if (signalling_state_changed) {
|
||||||
gchar *from = _enum_value_to_string (GST_TYPE_WEBRTC_SIGNALING_STATE,
|
const gchar *from = _enum_value_to_string (GST_TYPE_WEBRTC_SIGNALING_STATE,
|
||||||
webrtc->signaling_state);
|
webrtc->signaling_state);
|
||||||
gchar *to = _enum_value_to_string (GST_TYPE_WEBRTC_SIGNALING_STATE,
|
const gchar *to = _enum_value_to_string (GST_TYPE_WEBRTC_SIGNALING_STATE,
|
||||||
new_signaling_state);
|
new_signaling_state);
|
||||||
GST_TRACE_OBJECT (webrtc, "notify signaling-state from %s "
|
GST_TRACE_OBJECT (webrtc, "notify signaling-state from %s "
|
||||||
"to %s", from, to);
|
"to %s", from, to);
|
||||||
PC_UNLOCK (webrtc);
|
PC_UNLOCK (webrtc);
|
||||||
g_object_notify (G_OBJECT (webrtc), "signaling-state");
|
g_object_notify (G_OBJECT (webrtc), "signaling-state");
|
||||||
PC_LOCK (webrtc);
|
PC_LOCK (webrtc);
|
||||||
|
|
||||||
g_free (from);
|
|
||||||
g_free (to);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (webrtc->signaling_state == GST_WEBRTC_SIGNALING_STATE_STABLE) {
|
if (webrtc->signaling_state == GST_WEBRTC_SIGNALING_STATE_STABLE) {
|
||||||
|
@ -7894,13 +7832,10 @@ gst_webrtc_bin_request_new_pad (GstElement * element, GstPadTemplate * templ,
|
||||||
/* Reject transceivers that are only for receiving ... */
|
/* Reject transceivers that are only for receiving ... */
|
||||||
if (trans->direction == GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_RECVONLY ||
|
if (trans->direction == GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_RECVONLY ||
|
||||||
trans->direction == GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_INACTIVE) {
|
trans->direction == GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_INACTIVE) {
|
||||||
gchar *direction =
|
|
||||||
g_enum_to_string (GST_TYPE_WEBRTC_RTP_TRANSCEIVER_DIRECTION,
|
|
||||||
trans->direction);
|
|
||||||
GST_ERROR_OBJECT (element, "Tried to request a new sink pad %s for"
|
GST_ERROR_OBJECT (element, "Tried to request a new sink pad %s for"
|
||||||
" existing m-line %d, but the transceiver's direction is %s",
|
" existing m-line %d, but the transceiver's direction is %s",
|
||||||
name, serial, direction);
|
name, serial,
|
||||||
g_free (direction);
|
gst_webrtc_rtp_transceiver_direction_to_string (trans->direction));
|
||||||
goto error_out;
|
goto error_out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -58,7 +58,7 @@ static void
|
||||||
_set_base_stats (GstStructure * s, GstWebRTCStatsType type, double ts,
|
_set_base_stats (GstStructure * s, GstWebRTCStatsType type, double ts,
|
||||||
const char *id)
|
const char *id)
|
||||||
{
|
{
|
||||||
gchar *name = _enum_value_to_string (GST_TYPE_WEBRTC_STATS_TYPE,
|
const gchar *name = _enum_value_to_string (GST_TYPE_WEBRTC_STATS_TYPE,
|
||||||
type);
|
type);
|
||||||
|
|
||||||
g_return_if_fail (name != NULL);
|
g_return_if_fail (name != NULL);
|
||||||
|
@ -66,8 +66,6 @@ _set_base_stats (GstStructure * s, GstWebRTCStatsType type, double ts,
|
||||||
gst_structure_set_name (s, name);
|
gst_structure_set_name (s, name);
|
||||||
gst_structure_set (s, "type", GST_TYPE_WEBRTC_STATS_TYPE, type, "timestamp",
|
gst_structure_set (s, "type", GST_TYPE_WEBRTC_STATS_TYPE, type, "timestamp",
|
||||||
G_TYPE_DOUBLE, ts, "id", G_TYPE_STRING, id, NULL);
|
G_TYPE_DOUBLE, ts, "id", G_TYPE_STRING, id, NULL);
|
||||||
|
|
||||||
g_free (name);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static GstStructure *
|
static GstStructure *
|
||||||
|
|
|
@ -343,7 +343,6 @@ transport_stream_add_ssrc_map_item (TransportStream * stream,
|
||||||
GstWebRTCRTPTransceiverDirection direction, guint32 ssrc, guint media_idx)
|
GstWebRTCRTPTransceiverDirection direction, guint32 ssrc, guint media_idx)
|
||||||
{
|
{
|
||||||
SsrcMapItem *ret = NULL;
|
SsrcMapItem *ret = NULL;
|
||||||
char *dir_str = gst_webrtc_rtp_transceiver_direction_to_string (direction);
|
|
||||||
|
|
||||||
g_return_val_if_fail (direction ==
|
g_return_val_if_fail (direction ==
|
||||||
GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_RECVONLY
|
GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_RECVONLY
|
||||||
|
@ -351,13 +350,13 @@ transport_stream_add_ssrc_map_item (TransportStream * stream,
|
||||||
g_return_val_if_fail (ssrc != 0, NULL);
|
g_return_val_if_fail (ssrc != 0, NULL);
|
||||||
|
|
||||||
GST_INFO_OBJECT (stream, "Adding mapping for rtp session %u media_idx %u "
|
GST_INFO_OBJECT (stream, "Adding mapping for rtp session %u media_idx %u "
|
||||||
"direction %s ssrc %u", stream->session_id, media_idx, dir_str, ssrc);
|
"direction %s ssrc %u", stream->session_id, media_idx,
|
||||||
|
gst_webrtc_rtp_transceiver_direction_to_string (direction), ssrc);
|
||||||
|
|
||||||
/* XXX: duplicates? */
|
/* XXX: duplicates? */
|
||||||
ret = ssrcmap_item_new (direction, ssrc, media_idx);
|
ret = ssrcmap_item_new (direction, ssrc, media_idx);
|
||||||
|
|
||||||
g_ptr_array_add (stream->ssrcmap, ret);
|
g_ptr_array_add (stream->ssrcmap, ret);
|
||||||
g_free (dir_str);
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -132,18 +132,18 @@ _free_pad_block (struct pad_block *block)
|
||||||
g_free (block);
|
g_free (block);
|
||||||
}
|
}
|
||||||
|
|
||||||
gchar *
|
const gchar *
|
||||||
_enum_value_to_string (GType type, guint value)
|
_enum_value_to_string (GType type, guint value)
|
||||||
{
|
{
|
||||||
GEnumClass *enum_class;
|
GEnumClass *enum_class;
|
||||||
GEnumValue *enum_value;
|
GEnumValue *enum_value;
|
||||||
gchar *str = NULL;
|
const gchar *str = NULL;
|
||||||
|
|
||||||
enum_class = g_type_class_ref (type);
|
enum_class = g_type_class_ref (type);
|
||||||
enum_value = g_enum_get_value (enum_class, value);
|
enum_value = g_enum_get_value (enum_class, value);
|
||||||
|
|
||||||
if (enum_value)
|
if (enum_value)
|
||||||
str = g_strdup (enum_value->value_nick);
|
str = enum_value->value_nick;
|
||||||
|
|
||||||
g_type_class_unref (enum_class);
|
g_type_class_unref (enum_class);
|
||||||
|
|
||||||
|
|
|
@ -59,7 +59,7 @@ struct pad_block * _create_pad_block (GstElement * element,
|
||||||
GDestroyNotify notify);
|
GDestroyNotify notify);
|
||||||
|
|
||||||
G_GNUC_INTERNAL
|
G_GNUC_INTERNAL
|
||||||
gchar * _enum_value_to_string (GType type, guint value);
|
const gchar * _enum_value_to_string (GType type, guint value);
|
||||||
G_GNUC_INTERNAL
|
G_GNUC_INTERNAL
|
||||||
const gchar * _g_checksum_to_webrtc_string (GChecksumType type);
|
const gchar * _g_checksum_to_webrtc_string (GChecksumType type);
|
||||||
G_GNUC_INTERNAL
|
G_GNUC_INTERNAL
|
||||||
|
|
|
@ -81,15 +81,14 @@ _check_valid_state_for_sdp_change (GstWebRTCSignalingState state,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
{
|
{
|
||||||
gchar *state_str = _enum_value_to_string (GST_TYPE_WEBRTC_SIGNALING_STATE,
|
const gchar *state_str =
|
||||||
|
_enum_value_to_string (GST_TYPE_WEBRTC_SIGNALING_STATE,
|
||||||
state);
|
state);
|
||||||
gchar *type_str = _enum_value_to_string (GST_TYPE_WEBRTC_SDP_TYPE, type);
|
const gchar *type_str =
|
||||||
g_set_error (error, GST_WEBRTC_ERROR,
|
_enum_value_to_string (GST_TYPE_WEBRTC_SDP_TYPE, type);
|
||||||
GST_WEBRTC_ERROR_INVALID_STATE,
|
g_set_error (error, GST_WEBRTC_ERROR, GST_WEBRTC_ERROR_INVALID_STATE,
|
||||||
"Not in the correct state (%s) for setting %s %s description",
|
"Not in the correct state (%s) for setting %s %s description",
|
||||||
state_str, _sdp_source_to_string (source), type_str);
|
state_str, _sdp_source_to_string (source), type_str);
|
||||||
g_free (state_str);
|
|
||||||
g_free (type_str);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -425,12 +424,10 @@ void
|
||||||
_media_replace_direction (GstSDPMedia * media,
|
_media_replace_direction (GstSDPMedia * media,
|
||||||
GstWebRTCRTPTransceiverDirection direction)
|
GstWebRTCRTPTransceiverDirection direction)
|
||||||
{
|
{
|
||||||
gchar *dir_str;
|
const gchar *dir_str;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
dir_str =
|
dir_str = gst_webrtc_rtp_transceiver_direction_to_string (direction);
|
||||||
_enum_value_to_string (GST_TYPE_WEBRTC_RTP_TRANSCEIVER_DIRECTION,
|
|
||||||
direction);
|
|
||||||
|
|
||||||
for (i = 0; i < gst_sdp_media_attributes_len (media); i++) {
|
for (i = 0; i < gst_sdp_media_attributes_len (media); i++) {
|
||||||
const GstSDPAttribute *attr = gst_sdp_media_get_attribute (media, i);
|
const GstSDPAttribute *attr = gst_sdp_media_get_attribute (media, i);
|
||||||
|
@ -443,14 +440,12 @@ _media_replace_direction (GstSDPMedia * media,
|
||||||
GST_TRACE ("replace %s with %s", attr->key, dir_str);
|
GST_TRACE ("replace %s with %s", attr->key, dir_str);
|
||||||
gst_sdp_attribute_set (&new_attr, dir_str, "");
|
gst_sdp_attribute_set (&new_attr, dir_str, "");
|
||||||
gst_sdp_media_replace_attribute (media, i, &new_attr);
|
gst_sdp_media_replace_attribute (media, i, &new_attr);
|
||||||
g_free (dir_str);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GST_TRACE ("add %s", dir_str);
|
GST_TRACE ("add %s", dir_str);
|
||||||
gst_sdp_media_add_attribute (media, dir_str, "");
|
gst_sdp_media_add_attribute (media, dir_str, "");
|
||||||
g_free (dir_str);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GstWebRTCRTPTransceiverDirection
|
GstWebRTCRTPTransceiverDirection
|
||||||
|
@ -556,7 +551,7 @@ _intersect_dtls_setup (GstWebRTCDTLSSetup offer)
|
||||||
void
|
void
|
||||||
_media_replace_setup (GstSDPMedia * media, GstWebRTCDTLSSetup setup)
|
_media_replace_setup (GstSDPMedia * media, GstWebRTCDTLSSetup setup)
|
||||||
{
|
{
|
||||||
gchar *setup_str;
|
const gchar *setup_str;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
setup_str = _enum_value_to_string (GST_TYPE_WEBRTC_DTLS_SETUP, setup);
|
setup_str = _enum_value_to_string (GST_TYPE_WEBRTC_DTLS_SETUP, setup);
|
||||||
|
@ -569,14 +564,12 @@ _media_replace_setup (GstSDPMedia * media, GstWebRTCDTLSSetup setup)
|
||||||
GST_TRACE ("replace setup:%s with setup:%s", attr->value, setup_str);
|
GST_TRACE ("replace setup:%s with setup:%s", attr->value, setup_str);
|
||||||
gst_sdp_attribute_set (&new_attr, "setup", setup_str);
|
gst_sdp_attribute_set (&new_attr, "setup", setup_str);
|
||||||
gst_sdp_media_replace_attribute (media, i, &new_attr);
|
gst_sdp_media_replace_attribute (media, i, &new_attr);
|
||||||
g_free (setup_str);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GST_TRACE ("add setup:%s", setup_str);
|
GST_TRACE ("add setup:%s", setup_str);
|
||||||
gst_sdp_media_add_attribute (media, "setup", setup_str);
|
gst_sdp_media_add_attribute (media, "setup", setup_str);
|
||||||
g_free (setup_str);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GstWebRTCDTLSSetup
|
GstWebRTCDTLSSetup
|
||||||
|
|
Loading…
Reference in a new issue