diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/cea/Cea608Decoder.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/cea/Cea608Decoder.java index c8b10201c4..d26ee96ca4 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/cea/Cea608Decoder.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/cea/Cea608Decoder.java @@ -15,6 +15,7 @@ */ package androidx.media3.extractor.text.cea; +import static androidx.media3.common.util.Assertions.checkArgument; import static java.lang.Math.min; import android.graphics.Color; @@ -365,8 +366,12 @@ public final class Cea608Decoder extends CeaDecoder { cueBuilders = new ArrayList<>(); currentCueBuilder = new CueBuilder(CC_MODE_UNKNOWN, DEFAULT_CAPTIONS_ROW_COUNT); currentChannel = NTSC_CC_CHANNEL_1; - this.validDataChannelTimeoutUs = - validDataChannelTimeoutMs > 0 ? validDataChannelTimeoutMs * 1000 : C.TIME_UNSET; + if (validDataChannelTimeoutMs != C.TIME_UNSET) { + checkArgument(validDataChannelTimeoutMs >= MIN_DATA_CHANNEL_TIMEOUT_MS); + this.validDataChannelTimeoutUs = validDataChannelTimeoutMs * 1000; + } else { + this.validDataChannelTimeoutUs = C.TIME_UNSET; + } packetLength = MimeTypes.APPLICATION_MP4CEA608.equals(mimeType) ? 2 : 3; switch (accessibilityChannel) { case 1: