RtpTransceiver: add kStopped enumeration value.
This change introduces a new kStopped enumeration value to
RtpTransceiverDirection, preparing for later CLs which
implement RTP header extension control,
https://chromestatus.com/feature/5680189201711104.
The new enumeration value is unused in the code.
Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/65YdUi02yZk
Bug: chromium:980879
Change-Id: Id8cab9891236884542689fbf1b300e64a2cb636d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170050
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30756}
diff --git a/api/rtp_transceiver_interface.h b/api/rtp_transceiver_interface.h
index 2a60f98..2af42aa 100644
--- a/api/rtp_transceiver_interface.h
+++ b/api/rtp_transceiver_interface.h
@@ -31,7 +31,8 @@
kSendRecv,
kSendOnly,
kRecvOnly,
- kInactive
+ kInactive,
+ kStopped,
};
// Structure for initializing an RtpTransceiver in a call to
diff --git a/pc/media_session.cc b/pc/media_session.cc
index 110258d..9190f6e 100644
--- a/pc/media_session.cc
+++ b/pc/media_session.cc
@@ -1749,9 +1749,10 @@
return audio_send_codecs_;
case RtpTransceiverDirection::kRecvOnly:
return audio_recv_codecs_;
+ case RtpTransceiverDirection::kStopped:
+ RTC_NOTREACHED();
+ return audio_sendrecv_codecs_;
}
- RTC_NOTREACHED();
- return audio_sendrecv_codecs_;
}
const AudioCodecs& MediaSessionDescriptionFactory::GetAudioCodecsForAnswer(
@@ -1768,9 +1769,10 @@
return audio_send_codecs_;
case RtpTransceiverDirection::kRecvOnly:
return audio_recv_codecs_;
+ case RtpTransceiverDirection::kStopped:
+ RTC_NOTREACHED();
+ return audio_sendrecv_codecs_;
}
- RTC_NOTREACHED();
- return audio_sendrecv_codecs_;
}
void MergeCodecsFromDescription(
diff --git a/pc/media_session_unittest.cc b/pc/media_session_unittest.cc
index 41e2767..548b778 100644
--- a/pc/media_session_unittest.cc
+++ b/pc/media_session_unittest.cc
@@ -4785,6 +4785,8 @@
kResultSendrecv_SendrecvCodecs);
}
break;
+ default:
+ RTC_NOTREACHED();
}
auto format_codecs = [](const std::vector<AudioCodec>& codecs) {
diff --git a/pc/rtp_media_utils.cc b/pc/rtp_media_utils.cc
index 6e8be58..8fbfca1 100644
--- a/pc/rtp_media_utils.cc
+++ b/pc/rtp_media_utils.cc
@@ -47,9 +47,10 @@
return RtpTransceiverDirection::kRecvOnly;
case RtpTransceiverDirection::kRecvOnly:
return RtpTransceiverDirection::kSendOnly;
+ default:
+ RTC_NOTREACHED();
+ return direction;
}
- RTC_NOTREACHED();
- return direction;
}
RtpTransceiverDirection RtpTransceiverDirectionWithSendSet(
@@ -76,6 +77,8 @@
return "kRecvOnly";
case RtpTransceiverDirection::kInactive:
return "kInactive";
+ case RtpTransceiverDirection::kStopped:
+ return "kStopped";
}
RTC_NOTREACHED();
return "";
diff --git a/pc/webrtc_sdp.cc b/pc/webrtc_sdp.cc
index 29a9030..7846e5e 100644
--- a/pc/webrtc_sdp.cc
+++ b/pc/webrtc_sdp.cc
@@ -1596,7 +1596,12 @@
InitAttrLine(kAttributeRecvOnly, &os);
break;
case RtpTransceiverDirection::kSendRecv:
+ InitAttrLine(kAttributeSendRecv, &os);
+ break;
+ case RtpTransceiverDirection::kStopped:
default:
+ // kStopped shouldn't be used in signalling.
+ RTC_NOTREACHED();
InitAttrLine(kAttributeSendRecv, &os);
break;
}
diff --git a/pc/webrtc_sdp_unittest.cc b/pc/webrtc_sdp_unittest.cc
index 476955d..f79fbb8 100644
--- a/pc/webrtc_sdp_unittest.cc
+++ b/pc/webrtc_sdp_unittest.cc
@@ -979,7 +979,11 @@
new_direction = "a=recvonly";
break;
case RtpTransceiverDirection::kSendRecv:
+ new_direction = "a=sendrecv";
+ break;
+ case RtpTransceiverDirection::kStopped:
default:
+ RTC_NOTREACHED();
new_direction = "a=sendrecv";
break;
}
diff --git a/sdk/objc/api/peerconnection/RTCRtpTransceiver.h b/sdk/objc/api/peerconnection/RTCRtpTransceiver.h
index 8ef3fc1..968dba3 100644
--- a/sdk/objc/api/peerconnection/RTCRtpTransceiver.h
+++ b/sdk/objc/api/peerconnection/RTCRtpTransceiver.h
@@ -22,6 +22,7 @@
RTCRtpTransceiverDirectionSendOnly,
RTCRtpTransceiverDirectionRecvOnly,
RTCRtpTransceiverDirectionInactive,
+ RTCRtpTransceiverDirectionStopped
};
/** Structure for initializing an RTCRtpTransceiver in a call to
diff --git a/sdk/objc/api/peerconnection/RTCRtpTransceiver.mm b/sdk/objc/api/peerconnection/RTCRtpTransceiver.mm
index fe1ebb5..74ea456 100644
--- a/sdk/objc/api/peerconnection/RTCRtpTransceiver.mm
+++ b/sdk/objc/api/peerconnection/RTCRtpTransceiver.mm
@@ -149,6 +149,8 @@
return webrtc::RtpTransceiverDirection::kRecvOnly;
case RTCRtpTransceiverDirectionInactive:
return webrtc::RtpTransceiverDirection::kInactive;
+ case RTCRtpTransceiverDirectionStopped:
+ return webrtc::RtpTransceiverDirection::kStopped;
}
}
@@ -163,6 +165,8 @@
return RTCRtpTransceiverDirectionRecvOnly;
case webrtc::RtpTransceiverDirection::kInactive:
return RTCRtpTransceiverDirectionInactive;
+ case webrtc::RtpTransceiverDirection::kStopped:
+ return RTCRtpTransceiverDirectionStopped;
}
}