Modify Android API to use SetDirectionWithError

This clears the decks for deprecating and eventually removing
the nonstandard SetDirection method.

Bug: chromium:980879
Change-Id: Ibc291de3db690e9ef4e6cb3550390d7728f02a83
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181860
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31948}
This commit is contained in:
Harald Alvestrand
2020-08-17 12:57:30 +02:00
committed by Commit Bot
parent 16dfcdbc1c
commit 7f8b434009
2 changed files with 14 additions and 7 deletions

View File

@ -200,9 +200,9 @@ public class RtpTransceiver {
* sendrecv, sendonly, recvonly, or inactive.
* https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-direction
*/
public void setDirection(RtpTransceiverDirection rtpTransceiverDirection) {
public boolean setDirection(RtpTransceiverDirection rtpTransceiverDirection) {
checkRtpTransceiverExists();
nativeSetDirection(nativeRtpTransceiver, rtpTransceiverDirection);
return nativeSetDirection(nativeRtpTransceiver, rtpTransceiverDirection);
}
/**
@ -260,6 +260,6 @@ public class RtpTransceiver {
private static native RtpTransceiverDirection nativeCurrentDirection(long rtpTransceiver);
private static native void nativeStopInternal(long rtpTransceiver);
private static native void nativeStopStandard(long rtpTransceiver);
private static native void nativeSetDirection(
private static native boolean nativeSetDirection(
long rtpTransceiver, RtpTransceiverDirection rtpTransceiverDirection);
}

View File

@ -151,18 +151,25 @@ void JNI_RtpTransceiver_StopStandard(JNIEnv* jni,
->StopStandard();
}
void JNI_RtpTransceiver_SetDirection(
jboolean JNI_RtpTransceiver_SetDirection(
JNIEnv* jni,
jlong j_rtp_transceiver_pointer,
const base::android::JavaParamRef<jobject>& j_rtp_transceiver_direction) {
if (IsNull(jni, j_rtp_transceiver_direction)) {
return;
return false;
}
RtpTransceiverDirection direction = static_cast<RtpTransceiverDirection>(
Java_RtpTransceiverDirection_getNativeIndex(jni,
j_rtp_transceiver_direction));
webrtc::RTCError error =
reinterpret_cast<RtpTransceiverInterface*>(j_rtp_transceiver_pointer)
->SetDirection(direction);
->SetDirectionWithError(direction);
if (!error.ok()) {
RTC_LOG(LS_WARNING) << "SetDirection failed, code "
<< ToString(error.type()) << ", message "
<< error.message();
}
return error.ok();
}
} // namespace jni