Add bucket that unknown state playback falls into

MediaPlayerStressTest some media files are missing on the results as they
were reported neither completed nor erroneous.
This case will fall into a new category named unknown playback state so that
we could track them in media dashboard.

Bug: 21755950
Change-Id: Iefcc3e375c63d952a7d9edb418208209d87b9e08
This commit is contained in:
Hyungtae Tim Kim
2015-06-10 14:35:28 -07:00
parent fd9a2dafdc
commit 333578bcd4
2 changed files with 16 additions and 3 deletions

View File

@@ -60,6 +60,7 @@ public class CodecTest {
private static boolean onPrepareSuccess = false;
public static boolean onCompleteSuccess = false;
public static boolean mPlaybackError = false;
public static boolean mFailedToCompleteWithNoError = true;
public static int mMediaInfoUnknownCount = 0;
public static int mMediaInfoVideoTrackLaggingCount = 0;
public static int mMediaInfoBadInterleavingCount = 0;
@@ -801,6 +802,7 @@ public class CodecTest {
mMediaInfoNotSeekableCount = 0;
mMediaInfoMetdataUpdateCount = 0;
mPlaybackError = false;
mFailedToCompleteWithNoError = true;
String testResult;
initializeMessageLooper();
@@ -843,6 +845,9 @@ public class CodecTest {
} catch (Exception e) {
Log.v(TAG, "playMediaSamples:" + e.getMessage());
}
// Check if playback state is unknown (neither completed nor erroneous) unless
// it's not interrupted in the middle. If true, that is an exceptional case to investigate.
mFailedToCompleteWithNoError = !(onCompleteSuccess || mPlaybackError);
return onCompleteSuccess;
}
}

View File

@@ -65,6 +65,7 @@ public class MediaPlayerStressTest extends ActivityInstrumentationTestCase2<Medi
private int mTotalBadInterleaving = 0;
private int mTotalNotSeekable = 0;
private int mTotalMetaDataUpdate = 0;
private int mTotalFailedToCompleteWithNoError = 0;
//Test result output file
private static final String PLAYBACK_RESULT = "PlaybackTestResult.txt";
@@ -78,6 +79,8 @@ public class MediaPlayerStressTest extends ActivityInstrumentationTestCase2<Medi
output.write(" Bad Interleaving: " + CodecTest.mMediaInfoBadInterleavingCount);
output.write(" Not Seekable: " + CodecTest.mMediaInfoNotSeekableCount);
output.write(" Info Meta data update: " + CodecTest.mMediaInfoMetdataUpdateCount);
output.write(" Failed To Complete With No Error: " +
CodecTest.mFailedToCompleteWithNoError);
output.write("\n");
}
@@ -90,16 +93,21 @@ public class MediaPlayerStressTest extends ActivityInstrumentationTestCase2<Medi
output.write("Total Bad Interleaving: " + mTotalBadInterleaving + "\n");
output.write("Total Not Seekable: " + mTotalNotSeekable + "\n");
output.write("Total Info Meta data update: " + mTotalMetaDataUpdate + "\n");
output.write("Total Failed To Complete With No Error: " +
mTotalFailedToCompleteWithNoError);
output.write("\n");
}
private void updateTestResult(){
if (CodecTest.onCompleteSuccess){
if (CodecTest.onCompleteSuccess) {
mTotalComplete++;
}
else if (CodecTest.mPlaybackError){
else if (CodecTest.mPlaybackError) {
mTotalPlaybackError++;
}
else if (CodecTest.mFailedToCompleteWithNoError) {
mTotalFailedToCompleteWithNoError++;
}
mTotalInfoUnknown += CodecTest.mMediaInfoUnknownCount;
mTotalVideoTrackLagging += CodecTest.mMediaInfoVideoTrackLaggingCount;
mTotalBadInterleaving += CodecTest.mMediaInfoBadInterleavingCount;
@@ -149,4 +157,4 @@ public class MediaPlayerStressTest extends ActivityInstrumentationTestCase2<Medi
assertTrue("testMediaSamples", testResult);
}
}
}
}