From 8b39f7e2876ecf48348927468934ff901c826b3c Mon Sep 17 00:00:00 2001 From: datdoantelus Date: Tue, 2 Jan 2024 14:18:51 -0500 Subject: [PATCH] Ignore rowLock and columnLock values as specified by ANSI/CTA-708-E S-2023 document (section 8.4.7) --- .../androidx/media3/extractor/text/cea/Cea708Parser.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/cea/Cea708Parser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/cea/Cea708Parser.java index e5ff146f52..ec6822f509 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/cea/Cea708Parser.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/cea/Cea708Parser.java @@ -783,8 +783,12 @@ public final class Cea708Parser implements SubtitleParser { // first byte captionChannelPacketData.skipBits(2); // null padding boolean visible = captionChannelPacketData.readBit(); - boolean rowLock = captionChannelPacketData.readBit(); - boolean columnLock = captionChannelPacketData.readBit(); + + // ANSI/CTA-708-E S-2023 spec (Section 8.4.7) indicates that rowLock and columnLock should be ignored and assumed to be lock + captionChannelPacketData.readBits(2); + boolean rowLock = true; + boolean columnLock = true; + int priority = captionChannelPacketData.readBits(3); // second byte boolean relativePositioning = captionChannelPacketData.readBit();