From cf41ba3a3d2330cb291420c639df427e10ecb434 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5kon=20Schia?= Date: Tue, 30 Apr 2024 16:42:11 +0200 Subject: [PATCH] Create new ImageRenderer in render_tiledImageNonSquare_rendersAllImagesToOutput to allow it to use a separate bitmap from the other tests --- .../exoplayer/image/ImageRendererTest.java | 32 ++++++++++++------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/image/ImageRendererTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/image/ImageRendererTest.java index badac24f98..7d2e587e0f 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/image/ImageRendererTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/image/ImageRendererTest.java @@ -84,25 +84,16 @@ public class ImageRendererTest { Bitmap.createBitmap(/* width= */ 2, /* height= */ 2, Bitmap.Config.ARGB_8888); private final Bitmap fakeDecodedBitmap2 = Bitmap.createBitmap(/* width= */ 4, /* height= */ 4, Bitmap.Config.ARGB_8888); - private final Bitmap fakeDecodedBitmap3 = - Bitmap.createBitmap(/* width= */ 2, /* height= */ 3, Bitmap.Config.ARGB_8888); private ImageRenderer renderer; private int decodeCallCount; - private Bitmap overridenBitmap = null; @Before public void setUp() throws Exception { decodeCallCount = 0; ImageDecoder.Factory fakeDecoderFactory = new BitmapFactoryImageDecoder.Factory( - (data, length) -> { - if (overridenBitmap != null) { - return overridenBitmap; - } else { - return ++decodeCallCount == 1 ? fakeDecodedBitmap1 : fakeDecodedBitmap2; - } - }); + (data, length) -> ++decodeCallCount == 1 ? fakeDecodedBitmap1 : fakeDecodedBitmap2); ImageOutput queuingImageOutput = new ImageOutput() { @Override @@ -728,7 +719,26 @@ public class ImageRendererTest { @Test public void render_tiledImageNonSquare_rendersAllImagesToOutput() throws Exception { - overridenBitmap = fakeDecodedBitmap3; + ImageDecoder.Factory fakeDecoderFactory = + new BitmapFactoryImageDecoder.Factory( + (data, length) -> + Bitmap.createBitmap(/* width= */ 2, /* height= */ 3, Bitmap.Config.ARGB_8888)); + ImageOutput queuingImageOutput = + new ImageOutput() { + @Override + public void onImageAvailable(long presentationTimeUs, Bitmap bitmap) { + renderedBitmaps.add(Pair.create(presentationTimeUs, bitmap)); + } + + @Override + public void onDisabled() { + // Do nothing. + } + }; + + renderer = new ImageRenderer(fakeDecoderFactory, queuingImageOutput); + renderer.init(/* index= */ 0, PlayerId.UNSET, Clock.DEFAULT); + FakeSampleStream fakeSampleStream = createSampleStream( JPEG_FORMAT_WITH_SIX_TILES,