From 3f5d723311c3eaa3e20496e142de1717818f6888 Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Mon, 21 Mar 2022 11:00:21 +0000 Subject: [PATCH] Fix end of stream detection for SSIM helper PiperOrigin-RevId: 436165237 --- .../google/android/exoplayer2/transformer/SsimHelper.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/SsimHelper.java b/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/SsimHelper.java index dd82881e4e..df19e856d6 100644 --- a/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/SsimHelper.java +++ b/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/SsimHelper.java @@ -279,7 +279,10 @@ public final class SsimHelper { sampleSize, mediaExtractor.getSampleTime(), mediaExtractor.getSampleFlags()); - hasReadEndOfInputStream = !mediaExtractor.advance(); + // MediaExtractor.advance does not reliably return false for end-of-stream, so check sample + // metadata instead as a more reliable signal. See [internal: b/121204004]. + mediaExtractor.advance(); + hasReadEndOfInputStream = mediaExtractor.getSampleTime() == -1; return true; }