Android: Generate JNI code for jni_helper, RtpSender, and VideoEncoderFactory

Bug: webrtc:8278
Change-Id: I6111e562cc5a8fe6c595fcb8dfd5202d46a08806
Reviewed-on: https://webrtc-review.googlesource.com/28622
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21140}
This commit is contained in:
Magnus Jedvert
2017-12-07 14:07:20 +01:00
committed by Commit Bot
parent e51f785043
commit 3863153267
12 changed files with 198 additions and 262 deletions

View File

@ -19,13 +19,14 @@ public class RtpSender {
private final DtmfSender dtmfSender;
@CalledByNative
public RtpSender(long nativeRtpSender) {
this.nativeRtpSender = nativeRtpSender;
long track = nativeGetTrack(nativeRtpSender);
long track = getNativeTrack(nativeRtpSender);
// It may be possible for an RtpSender to be created without a track.
cachedTrack = (track != 0) ? new MediaStreamTrack(track) : null;
long nativeDtmfSender = nativeGetDtmfSender(nativeRtpSender);
long nativeDtmfSender = getNativeDtmfSender(nativeRtpSender);
dtmfSender = (nativeDtmfSender != 0) ? new DtmfSender(nativeDtmfSender) : null;
}
@ -44,7 +45,7 @@ public class RtpSender {
* @return true on success and false on failure.
*/
public boolean setTrack(MediaStreamTrack track, boolean takeOwnership) {
if (!nativeSetTrack(nativeRtpSender, (track == null) ? 0 : track.nativeTrack)) {
if (!setNativeTrack(nativeRtpSender, (track == null) ? 0 : track.nativeTrack)) {
return false;
}
if (cachedTrack != null && ownsTrack) {
@ -60,15 +61,15 @@ public class RtpSender {
}
public boolean setParameters(RtpParameters parameters) {
return nativeSetParameters(nativeRtpSender, parameters);
return setNativeParameters(nativeRtpSender, parameters);
}
public RtpParameters getParameters() {
return nativeGetParameters(nativeRtpSender);
return getNativeParameters(nativeRtpSender);
}
public String id() {
return nativeId(nativeRtpSender);
return getNativeId(nativeRtpSender);
}
public DtmfSender dtmf() {
@ -85,19 +86,19 @@ public class RtpSender {
JniCommon.nativeReleaseRef(nativeRtpSender);
}
private static native boolean nativeSetTrack(long nativeRtpSender, long nativeTrack);
private static native boolean setNativeTrack(long nativeRtpSender, long nativeTrack);
// This should increment the reference count of the track.
// Will be released in dispose() or setTrack().
private static native long nativeGetTrack(long nativeRtpSender);
private static native long getNativeTrack(long nativeRtpSender);
// This should increment the reference count of the DTMF sender.
// Will be released in dispose().
private static native long nativeGetDtmfSender(long nativeRtpSender);
private static native long getNativeDtmfSender(long nativeRtpSender);
private static native boolean nativeSetParameters(long nativeRtpSender, RtpParameters parameters);
private static native boolean setNativeParameters(long nativeRtpSender, RtpParameters parameters);
private static native RtpParameters nativeGetParameters(long nativeRtpSender);
private static native RtpParameters getNativeParameters(long nativeRtpSender);
private static native String nativeId(long nativeRtpSender);
private static native String getNativeId(long nativeRtpSender);
};

View File

@ -13,11 +13,11 @@ package org.webrtc;
/** Factory for creating VideoEncoders. */
public interface VideoEncoderFactory {
/** Creates an encoder for the given video codec. */
public VideoEncoder createEncoder(VideoCodecInfo info);
@CalledByNative VideoEncoder createEncoder(VideoCodecInfo info);
/**
* Enumerates the list of supported video codecs. This method will only be called once and the
* result will be cached.
*/
public VideoCodecInfo[] getSupportedCodecs();
@CalledByNative VideoCodecInfo[] getSupportedCodecs();
}