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. * sendrecv, sendonly, recvonly, or inactive.
* https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-direction * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-direction
*/ */
public void setDirection(RtpTransceiverDirection rtpTransceiverDirection) { public boolean setDirection(RtpTransceiverDirection rtpTransceiverDirection) {
checkRtpTransceiverExists(); 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 RtpTransceiverDirection nativeCurrentDirection(long rtpTransceiver);
private static native void nativeStopInternal(long rtpTransceiver); private static native void nativeStopInternal(long rtpTransceiver);
private static native void nativeStopStandard(long rtpTransceiver); private static native void nativeStopStandard(long rtpTransceiver);
private static native void nativeSetDirection( private static native boolean nativeSetDirection(
long rtpTransceiver, RtpTransceiverDirection rtpTransceiverDirection); long rtpTransceiver, RtpTransceiverDirection rtpTransceiverDirection);
} }

View File

@ -151,18 +151,25 @@ void JNI_RtpTransceiver_StopStandard(JNIEnv* jni,
->StopStandard(); ->StopStandard();
} }
void JNI_RtpTransceiver_SetDirection( jboolean JNI_RtpTransceiver_SetDirection(
JNIEnv* jni, JNIEnv* jni,
jlong j_rtp_transceiver_pointer, jlong j_rtp_transceiver_pointer,
const base::android::JavaParamRef<jobject>& j_rtp_transceiver_direction) { const base::android::JavaParamRef<jobject>& j_rtp_transceiver_direction) {
if (IsNull(jni, j_rtp_transceiver_direction)) { if (IsNull(jni, j_rtp_transceiver_direction)) {
return; return false;
} }
RtpTransceiverDirection direction = static_cast<RtpTransceiverDirection>( RtpTransceiverDirection direction = static_cast<RtpTransceiverDirection>(
Java_RtpTransceiverDirection_getNativeIndex(jni, Java_RtpTransceiverDirection_getNativeIndex(jni,
j_rtp_transceiver_direction)); j_rtp_transceiver_direction));
webrtc::RTCError error =
reinterpret_cast<RtpTransceiverInterface*>(j_rtp_transceiver_pointer) 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 } // namespace jni