Android: Allow injecting native PeerConnection.

This allows application to construct PeerConnection object in JNI and
pass that to Android API. API for wrapping Java PeerConnection Observers
is exposed for convenience.

Bug: webrtc:8662
Change-Id: Id110b92e6bb5ab00661cd50616d05c3e18a1697d
Reviewed-on: https://webrtc-review.googlesource.com/34520
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21379}
This commit is contained in:
Sami Kalliomäki
2017-12-20 11:59:22 +01:00
committed by Commit Bot
parent afd8e8c304
commit 1ece1edddc
6 changed files with 45 additions and 15 deletions

View File

@ -440,8 +440,16 @@ jobjectArray PeerConnectionObserverJni::NativeToJavaMediaStreamArray(
return java_streams;
}
JNI_FUNCTION_DECLARATION(jlong,
PeerConnection_createNativePeerConnectionObserver,
JNIEnv* jni,
jclass,
jobject j_observer) {
return jlongFromPointer(new PeerConnectionObserverJni(jni, j_observer));
}
JNI_FUNCTION_DECLARATION(void,
PeerConnection_freeObserver,
PeerConnection_freeNativePeerConnectionObserver,
JNIEnv*,
jclass,
jlong j_p) {

View File

@ -93,14 +93,6 @@ void PeerConnectionFactorySignalingThreadReady() {
Java_PeerConnectionFactory_onSignalingThreadReady(env);
}
JNI_FUNCTION_DECLARATION(jlong,
PeerConnectionFactory_createNativeObserver,
JNIEnv* jni,
jclass,
jobject j_observer) {
return (jlong) new PeerConnectionObserverJni(jni, j_observer);
}
JNI_FUNCTION_DECLARATION(void,
PeerConnectionFactory_initializeNativeAndroidGlobals,
JNIEnv* jni,