| Index: webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
|
| diff --git a/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java b/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
|
| index 69172c33a1ac6458ecddaab1c4b0ef88ff8ad3b5..9c33b6159a8da75bebcccafc734d24fb9d30a448 100644
|
| --- a/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
|
| +++ b/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
|
| @@ -17,6 +17,7 @@ import android.util.Log;
|
|
|
| import org.appspot.apprtc.AppRTCClient.SignalingParameters;
|
| import org.appspot.apprtc.util.LooperExecutor;
|
| +import org.webrtc.AudioTrack;
|
| import org.webrtc.CameraEnumerationAndroid;
|
| import org.webrtc.DataChannel;
|
| import org.webrtc.EglBase;
|
| @@ -124,6 +125,9 @@ public class PeerConnectionClient {
|
| private boolean renderVideo;
|
| private VideoTrack localVideoTrack;
|
| private VideoTrack remoteVideoTrack;
|
| + // enableAudio is set to true if audio should be sent.
|
| + private boolean enableAudio;
|
| + private AudioTrack localAudioTrack;
|
|
|
| /**
|
| * Peer connection parameters.
|
| @@ -252,6 +256,8 @@ public class PeerConnectionClient {
|
| renderVideo = true;
|
| localVideoTrack = null;
|
| remoteVideoTrack = null;
|
| + enableAudio = true;
|
| + localAudioTrack = null;
|
| statsTimer = new Timer();
|
|
|
| executor.execute(new Runnable() {
|
| @@ -492,9 +498,7 @@ public class PeerConnectionClient {
|
| mediaStream.addTrack(createVideoTrack(videoCapturer));
|
| }
|
|
|
| - mediaStream.addTrack(factory.createAudioTrack(
|
| - AUDIO_TRACK_ID,
|
| - factory.createAudioSource(audioConstraints)));
|
| + mediaStream.addTrack(createAudioTrack());
|
| peerConnection.addStream(mediaStream);
|
|
|
| if (peerConnectionParameters.aecDump) {
|
| @@ -605,6 +609,18 @@ public class PeerConnectionClient {
|
| }
|
| }
|
|
|
| + public void setAudioEnabled(final boolean enable) {
|
| + executor.execute(new Runnable() {
|
| + @Override
|
| + public void run() {
|
| + enableAudio = enable;
|
| + if (localAudioTrack != null) {
|
| + localAudioTrack.setEnabled(enableAudio);
|
| + }
|
| + }
|
| + });
|
| + }
|
| +
|
| public void setVideoEnabled(final boolean enable) {
|
| executor.execute(new Runnable() {
|
| @Override
|
| @@ -749,6 +765,14 @@ public class PeerConnectionClient {
|
| });
|
| }
|
|
|
| + private AudioTrack createAudioTrack() {
|
| + localAudioTrack = factory.createAudioTrack(
|
| + AUDIO_TRACK_ID,
|
| + factory.createAudioSource(audioConstraints));
|
| + localAudioTrack.setEnabled(enableAudio);
|
| + return localAudioTrack;
|
| + }
|
| +
|
| private VideoTrack createVideoTrack(VideoCapturerAndroid capturer) {
|
| videoSource = factory.createVideoSource(capturer, videoConstraints);
|
|
|
|
|