Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(350)

Unified Diff: webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java

Issue 1514473008: Add aecdump support to AppRTCDemo (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Fix try and tests Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 1bdbc3b6fc617b851af545ba626b3a2ceffbcdc1..cf39314b4a9cd7f06f584a8fbec4d2b10336b100 100644
--- a/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
+++ b/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
@@ -11,6 +11,7 @@
package org.appspot.apprtc;
import android.content.Context;
+import android.os.ParcelFileDescriptor;
import android.util.Log;
import org.appspot.apprtc.AppRTCClient.SignalingParameters;
@@ -37,6 +38,8 @@ import org.webrtc.VideoSource;
import org.webrtc.VideoTrack;
import org.webrtc.voiceengine.WebRtcAudioManager;
+import java.io.File;
+import java.io.IOException;
import java.util.EnumSet;
import java.util.LinkedList;
import java.util.Timer;
@@ -105,6 +108,7 @@ public class PeerConnectionClient {
private MediaConstraints pcConstraints;
private MediaConstraints videoConstraints;
private MediaConstraints audioConstraints;
+ private ParcelFileDescriptor aecDumpFileDescriptor;
private MediaConstraints sdpMediaConstraints;
private PeerConnectionParameters peerConnectionParameters;
// Queued remote ICE candidates are consumed only after both local and
@@ -138,6 +142,7 @@ public class PeerConnectionClient {
public final int audioStartBitrate;
public final String audioCodec;
public final boolean noAudioProcessing;
+ public final boolean aecDump;
public final boolean useOpenSLES;
public PeerConnectionParameters(
@@ -145,7 +150,7 @@ public class PeerConnectionClient {
int videoWidth, int videoHeight, int videoFps, int videoStartBitrate,
String videoCodec, boolean videoCodecHwAcceleration, boolean captureToTexture,
int audioStartBitrate, String audioCodec,
- boolean noAudioProcessing, boolean useOpenSLES) {
+ boolean noAudioProcessing, boolean aecDump, boolean useOpenSLES) {
this.videoCallEnabled = videoCallEnabled;
this.loopback = loopback;
this.videoWidth = videoWidth;
@@ -158,6 +163,7 @@ public class PeerConnectionClient {
this.audioStartBitrate = audioStartBitrate;
this.audioCodec = audioCodec;
this.noAudioProcessing = noAudioProcessing;
+ this.aecDump = aecDump;
this.useOpenSLES = useOpenSLES;
}
}
@@ -479,10 +485,26 @@ public class PeerConnectionClient {
factory.createAudioSource(audioConstraints)));
peerConnection.addStream(mediaStream);
+ if (peerConnectionParameters.aecDump) {
+ try {
+ aecDumpFileDescriptor = ParcelFileDescriptor.open(
+ new File("/sdcard/Download/audio.aecdump"),
+ ParcelFileDescriptor.MODE_READ_WRITE |
+ ParcelFileDescriptor.MODE_CREATE |
+ ParcelFileDescriptor.MODE_TRUNCATE);
+ factory.startAecDump(aecDumpFileDescriptor.getFd());
+ } catch(IOException e) {
+ Log.e(TAG, "Can not open aecdump file", e);
+ }
+ }
+
Log.d(TAG, "Peer connection created.");
}
private void closeInternal() {
+ if (factory != null && peerConnectionParameters.aecDump) {
+ factory.stopAecDump();
+ }
Log.d(TAG, "Closing peer connection.");
statsTimer.cancel();
if (peerConnection != null) {

Powered by Google App Engine
This is Rietveld 408576698