From 331c179a883fe720c394cbb35ca70f5f88151846 Mon Sep 17 00:00:00 2001 From: tonihei Date: Wed, 4 Oct 2017 07:59:09 -0700 Subject: [PATCH] Wait until playback started in certain action schedules. Some action schedules (especially those for real media with potentially long initial buffering times) don't wait until the playback started before executing the rest of the schedule. Added waitForPlaybackStateChanged(STATE_READY) to all applicable action schedules. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=171009434 --- .../playbacktests/gts/CommonEncryptionDrmTest.java | 6 ++++-- .../exoplayer2/playbacktests/gts/DashStreamingTest.java | 3 +++ .../playbacktests/gts/DashWidevineOfflineTest.java | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/CommonEncryptionDrmTest.java b/playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/CommonEncryptionDrmTest.java index 8c6285cef3..a590e45f5f 100644 --- a/playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/CommonEncryptionDrmTest.java +++ b/playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/CommonEncryptionDrmTest.java @@ -16,6 +16,7 @@ package com.google.android.exoplayer2.playbacktests.gts; import android.test.ActivityInstrumentationTestCase2; +import com.google.android.exoplayer2.Player; import com.google.android.exoplayer2.testutil.ActionSchedule; import com.google.android.exoplayer2.testutil.HostActivity; import com.google.android.exoplayer2.util.MimeTypes; @@ -39,8 +40,9 @@ public final class CommonEncryptionDrmTest extends ActivityInstrumentationTestCa // Seeks help reproduce playback issues in certain devices. private static final ActionSchedule ACTION_SCHEDULE_WITH_SEEKS = new ActionSchedule.Builder(TAG) - .delay(30000).seekAndWait(300000).delay(10000).seekAndWait(270000).delay(10000) - .seekAndWait(200000).delay(10000).seekAndWait(732000).build(); + .waitForPlaybackState(Player.STATE_READY).delay(30000).seekAndWait(300000).delay(10000) + .seekAndWait(270000).delay(10000).seekAndWait(200000).delay(10000).seekAndWait(732000) + .build(); private DashTestRunner testRunner; diff --git a/playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/DashStreamingTest.java b/playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/DashStreamingTest.java index 251cf7b56b..39cdc7ee43 100644 --- a/playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/DashStreamingTest.java +++ b/playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/DashStreamingTest.java @@ -17,6 +17,7 @@ package com.google.android.exoplayer2.playbacktests.gts; import android.test.ActivityInstrumentationTestCase2; import com.google.android.exoplayer2.ExoPlayer; +import com.google.android.exoplayer2.Player; import com.google.android.exoplayer2.mediacodec.MediaCodecInfo; import com.google.android.exoplayer2.mediacodec.MediaCodecUtil; import com.google.android.exoplayer2.mediacodec.MediaCodecUtil.DecoderQueryException; @@ -33,12 +34,14 @@ public final class DashStreamingTest extends ActivityInstrumentationTestCase2