diff --git a/AUTHORS b/AUTHORS index 126a1387ee..e13033eb72 100644 --- a/AUTHORS +++ b/AUTHORS @@ -12,6 +12,7 @@ Bridger Maxwell Christophe Dumez Cody Barnes Colin Plumb +Dax Booysen Dmitry Lizin Eric Rescorla, RTFM Inc. Frederik Riedel, Frogg GmbH diff --git a/webrtc/sdk/android/api/org/webrtc/AudioTrack.java b/webrtc/sdk/android/api/org/webrtc/AudioTrack.java index c33a9d8db1..6b71353610 100644 --- a/webrtc/sdk/android/api/org/webrtc/AudioTrack.java +++ b/webrtc/sdk/android/api/org/webrtc/AudioTrack.java @@ -15,4 +15,13 @@ public class AudioTrack extends MediaStreamTrack { public AudioTrack(long nativeTrack) { super(nativeTrack); } + + /** Sets the volume for the underlying MediaSource. Volume is a gain value in the range + * 0 to 10. + */ + public void setVolume(double volume) { + nativeSetVolume(super.nativeTrack, volume); + } + + private static native void nativeSetVolume(long nativeTrack, double volume); } diff --git a/webrtc/sdk/android/src/jni/peerconnection_jni.cc b/webrtc/sdk/android/src/jni/peerconnection_jni.cc index d31b5d7f95..0c380917b3 100644 --- a/webrtc/sdk/android/src/jni/peerconnection_jni.cc +++ b/webrtc/sdk/android/src/jni/peerconnection_jni.cc @@ -1194,6 +1194,13 @@ JOW(void, PeerConnectionFactory_shutdownInternalTracer)(JNIEnv* jni, jclass) { rtc::tracing::ShutdownInternalTracer(); } +JOW(void, AudioTrack_nativeSetVolume) +(JNIEnv*, jclass, jlong j_p, jdouble volume) { + rtc::scoped_refptr source( + reinterpret_cast(j_p)->GetSource()); + source->SetVolume(volume); +} + // 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)