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

Unified Diff: webrtc/sdk/android/instrumentationtests/src/org/webrtc/PeerConnectionTest.java

Issue 2531333003: Create the Java Wrapper of RtpReceiverObserverInterface. (Closed)
Patch Set: Fix the failed test. Created 4 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/sdk/android/instrumentationtests/src/org/webrtc/PeerConnectionTest.java
diff --git a/webrtc/sdk/android/instrumentationtests/src/org/webrtc/PeerConnectionTest.java b/webrtc/sdk/android/instrumentationtests/src/org/webrtc/PeerConnectionTest.java
index a4cb3093bc082562d25b46d0bea9b06d0c4f1506..59809365d44e0bcc64ec824715c72787ca417b23 100644
--- a/webrtc/sdk/android/instrumentationtests/src/org/webrtc/PeerConnectionTest.java
+++ b/webrtc/sdk/android/instrumentationtests/src/org/webrtc/PeerConnectionTest.java
@@ -43,9 +43,9 @@ public class PeerConnectionTest extends ActivityTestCase {
getInstrumentation().getContext(), true, true, true));
}
- private static class ObserverExpectations implements PeerConnection.Observer,
- VideoRenderer.Callbacks,
- DataChannel.Observer, StatsObserver {
+ private static class ObserverExpectations
+ implements PeerConnection.Observer, VideoRenderer.Callbacks, DataChannel.Observer,
+ StatsObserver, RtpReceiver.Observer {
private final String name;
private int expectedIceCandidates = 0;
private int expectedErrors = 0;
@@ -71,6 +71,8 @@ public class PeerConnectionTest extends ActivityTestCase {
private int expectedStatsCallbacks = 0;
private LinkedList<StatsReport[]> gotStatsReports = new LinkedList<StatsReport[]>();
private final HashSet<MediaStream> gotRemoteStreams = new HashSet<MediaStream>();
+ private int expectedFirstAudioPacket = 0;
+ private int expectedFirstVideoPacket = 0;
public ObserverExpectations(String name) {
this.name = name;
@@ -258,6 +260,23 @@ public class PeerConnectionTest extends ActivityTestCase {
gotStatsReports.add(reports);
}
+ @Override
+ public synchronized void onFirstPacketReceived(MediaStreamTrack.MediaType mediaType) {
+ if (mediaType == MediaStreamTrack.MediaType.MEDIA_TYPE_AUDIO) {
+ expectedFirstAudioPacket--;
+ } else {
+ expectedFirstVideoPacket--;
+ }
+ if (expectedFirstAudioPacket < 0 || expectedFirstVideoPacket < 0) {
+ throw new RuntimeException("Unexpected call of onFirstPacketReceived");
+ }
+ }
+
+ public synchronized void expectFirstPacketReceived() {
+ expectedFirstAudioPacket = 1;
+ expectedFirstVideoPacket = 1;
+ }
+
public synchronized void expectStatsCallback() {
++expectedStatsCallbacks;
}
@@ -314,6 +333,12 @@ public class PeerConnectionTest extends ActivityTestCase {
if (expectedStatsCallbacks != 0) {
stillWaitingForExpectations.add("expectedStatsCallbacks: " + expectedStatsCallbacks);
}
+ if (expectedFirstAudioPacket > 0) {
+ stillWaitingForExpectations.add("expectedFirstAudioPacket: " + expectedFirstAudioPacket);
+ }
+ if (expectedFirstVideoPacket > 0) {
+ stillWaitingForExpectations.add("expectedFirstVideoPacket: " + expectedFirstVideoPacket);
+ }
return stillWaitingForExpectations;
}
@@ -626,6 +651,17 @@ public class PeerConnectionTest extends ActivityTestCase {
assertEquals(answeringPC.getSenders().size(), 2);
assertEquals(answeringPC.getReceivers().size(), 2);
+ offeringExpectations.expectFirstPacketReceived();
+ answeringExpectations.expectFirstPacketReceived();
+
+ for (RtpReceiver receiver : offeringPC.getReceivers()) {
+ receiver.SetObserver(offeringExpectations);
+ }
+
+ for (RtpReceiver receiver : answeringPC.getReceivers()) {
+ receiver.SetObserver(answeringExpectations);
+ }
+
// Wait for at least some frames to be delivered at each end (number
// chosen arbitrarily).
offeringExpectations.expectFramesDelivered(10);
« no previous file with comments | « webrtc/sdk/android/api/org/webrtc/RtpReceiver.java ('k') | webrtc/sdk/android/src/jni/classreferenceholder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698