Index: webrtc/sdk/android/src/jni/peerconnection_jni.cc |
diff --git a/webrtc/sdk/android/src/jni/peerconnection_jni.cc b/webrtc/sdk/android/src/jni/peerconnection_jni.cc |
index 75b1bad20256dcafd288b6a953d8e686c8a216ca..3b39e62f4b647652bb0c78535cf0a09b0bca232d 100644 |
--- a/webrtc/sdk/android/src/jni/peerconnection_jni.cc |
+++ b/webrtc/sdk/android/src/jni/peerconnection_jni.cc |
@@ -1199,6 +1199,25 @@ JOW(void, PeerConnectionFactory_shutdownInternalTracer)(JNIEnv* jni, jclass) { |
rtc::tracing::ShutdownInternalTracer(); |
} |
+JOW(void, AudioSource_nativeSetVolume) |
+(JNIEnv*, jclass, jlong j_p, jdouble volume) { |
+ reinterpret_cast<AudioSourceInterface*>(j_p)->SetVolume(volume); |
+} |
+ |
+JOW(jobject, AudioTrack_nativeGetSource)(JNIEnv* jni, jclass, jlong j_p) { |
+ rtc::scoped_refptr<AudioSourceInterface> source( |
+ reinterpret_cast<AudioTrackInterface*>(j_p)->GetSource()); |
+ |
+ jlong nativePointer = jlongFromPointer(source.get()); |
+ jclass j_audio_source_class = FindClass(jni, "org/webrtc/AudioSource"); |
+ jmethodID j_audio_source_ctor = |
+ GetMethodID(jni, j_audio_source_class, "<init>", "(J)V"); |
+ jobject j_audio_source = |
+ jni->NewObject(j_audio_source_class, j_audio_source_ctor, nativePointer); |
+ CHECK_EXCEPTION(jni) << "error during NewObject"; |
+ return j_audio_source; |
+} |
+ |
// Helper struct for working around the fact that CreatePeerConnectionFactory() |
// comes in two flavors: either entirely automagical (constructing its own |
// threads and deleting them on teardown, but no external codec factory support) |