CodecDecoderTest: Ensure output color format is set in all decode paths
Bug: 147573846
Test: atest android.mediav2.cts.CodecDecoderTest
Change-Id: Ifef3ae8a87fedb00259ba6943f00a5404bdd8e03
Merged-In: Ifef3ae8a87fedb00259ba6943f00a5404bdd8e03
diff --git a/tests/media/src/android/mediav2/cts/CodecDecoderTest.java b/tests/media/src/android/mediav2/cts/CodecDecoderTest.java
index f3ef46d..10770a7 100644
--- a/tests/media/src/android/mediav2/cts/CodecDecoderTest.java
+++ b/tests/media/src/android/mediav2/cts/CodecDecoderTest.java
@@ -114,7 +114,12 @@
MediaFormat format = mExtractor.getTrackFormat(trackID);
if (mMime.equalsIgnoreCase(format.getString(MediaFormat.KEY_MIME))) {
mExtractor.selectTrack(trackID);
- return mExtractor.getTrackFormat(trackID);
+ if (!mIsAudio) {
+ // COLOR_FormatYUV420Flexible by default should be supported by all components
+ // This call shouldn't effect configure() call for any codec
+ format.setInteger(MediaFormat.KEY_COLOR_FORMAT, COLOR_FormatYUV420Flexible);
+ }
+ return format;
}
}
fail("No track with mime: " + mMime + " found in file: " + srcFile);
@@ -387,9 +392,6 @@
@Test(timeout = PER_TEST_TIMEOUT_LARGE_TEST_MS)
public void testSimpleDecode() throws IOException, InterruptedException {
MediaFormat format = setUpSource(mTestFile);
- if (!mIsAudio) {
- format.setInteger(MediaFormat.KEY_COLOR_FORMAT, COLOR_FormatYUV420Flexible);
- }
ArrayList<MediaFormat> formats = new ArrayList<>();
formats.add(format);
ArrayList<String> listOfDecoders = selectCodecs(mMime, formats, null, false);
@@ -473,9 +475,6 @@
public void testFlush() throws IOException, InterruptedException {
MediaFormat format = setUpSource(mTestFile);
mExtractor.release();
- if (!mIsAudio) {
- format.setInteger(MediaFormat.KEY_COLOR_FORMAT, COLOR_FormatYUV420Flexible);
- }
ArrayList<MediaFormat> formats = new ArrayList<>();
formats.add(format);
ArrayList<String> listOfDecoders = selectCodecs(mMime, formats, null, false);
@@ -593,10 +592,6 @@
mExtractor.release();
MediaFormat newFormat = setUpSource(mReconfigFile);
mExtractor.release();
- if (!mIsAudio) {
- format.setInteger(MediaFormat.KEY_COLOR_FORMAT, COLOR_FormatYUV420Flexible);
- newFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT, COLOR_FormatYUV420Flexible);
- }
ArrayList<MediaFormat> formats = new ArrayList<>();
formats.add(format);
formats.add(newFormat);
@@ -761,9 +756,6 @@
@Test(timeout = PER_TEST_TIMEOUT_SMALL_TEST_MS)
public void testOnlyEos() throws IOException, InterruptedException {
MediaFormat format = setUpSource(mTestFile);
- if (!mIsAudio) {
- format.setInteger(MediaFormat.KEY_COLOR_FORMAT, COLOR_FormatYUV420Flexible);
- }
ArrayList<MediaFormat> formats = new ArrayList<>();
formats.add(format);
ArrayList<String> listOfDecoders = selectCodecs(mMime, formats, null, false);
@@ -797,9 +789,6 @@
@Test(timeout = PER_TEST_TIMEOUT_LARGE_TEST_MS)
public void testSimpleDecodeQueueCSD() throws IOException, InterruptedException {
MediaFormat format = setUpSource(mTestFile);
- if (!mIsAudio) {
- format.setInteger(MediaFormat.KEY_COLOR_FORMAT, COLOR_FormatYUV420Flexible);
- }
Assume.assumeTrue("Format has no CSD, ignoring test for mime:" + mMime, hasCSD(format));
ArrayList<MediaFormat> formats = new ArrayList<>();
formats.add(format);
@@ -888,9 +877,6 @@
@Test(timeout = PER_TEST_TIMEOUT_LARGE_TEST_MS)
public void testDecodePartialFrame() throws IOException, InterruptedException {
MediaFormat format = setUpSource(mTestFile);
- if (!mIsAudio) {
- format.setInteger(MediaFormat.KEY_COLOR_FORMAT, COLOR_FormatYUV420Flexible);
- }
ArrayList<MediaFormat> formats = new ArrayList<>();
formats.add(format);
ArrayList<String> listOfDecoders = selectCodecs(mMime, formats,