Implement transceiver.stop()

This adds RtpTransceiver.StopStandard(), which behaves according to
the specification at
https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-stop

It modifies RTCPeerConnection.getTransceivers() to return only
transceivers that have not been stopped.

Rebase of armax' https://webrtc-review.googlesource.com/c/src/+/172762

Bug: chromium:980879
Change-Id: I7d383ee874ccc0a006fdcf280496b5d4235425ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180580
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31893}
This commit is contained in:
Harald Alvestrand
2020-08-10 14:41:03 +02:00
committed by Commit Bot
parent 582102c9b7
commit 11dc6571cb
24 changed files with 604 additions and 253 deletions

View File

@ -139,9 +139,16 @@ ScopedJavaLocalRef<jobject> JNI_RtpTransceiver_CurrentDirection(
: nullptr;
}
void JNI_RtpTransceiver_Stop(JNIEnv* jni,
jlong j_rtp_transceiver_pointer) {
reinterpret_cast<RtpTransceiverInterface*>(j_rtp_transceiver_pointer)->Stop();
void JNI_RtpTransceiver_StopInternal(JNIEnv* jni,
jlong j_rtp_transceiver_pointer) {
reinterpret_cast<RtpTransceiverInterface*>(j_rtp_transceiver_pointer)
->StopInternal();
}
void JNI_RtpTransceiver_StopStandard(JNIEnv* jni,
jlong j_rtp_transceiver_pointer) {
reinterpret_cast<RtpTransceiverInterface*>(j_rtp_transceiver_pointer)
->StopStandard();
}
void JNI_RtpTransceiver_SetDirection(