From d2f677bc4cbb4b3e6ddd0a32e132ee967cde0ec3 Mon Sep 17 00:00:00 2001 From: Simon Hung Date: Sat, 20 Jan 2024 01:06:01 +0800 Subject: [PATCH] Update PgsParser.java Fix "subtitles rendered with border and no fill color" problem: https://github.com/moneytoo/Player/issues/413 because '0' means it's an index to the palette table, not an RGBA value of 0 --- .../main/java/androidx/media3/extractor/text/pgs/PgsParser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/pgs/PgsParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/pgs/PgsParser.java index 87b4d4f6c7..a316c617c1 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/pgs/PgsParser.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/pgs/PgsParser.java @@ -248,7 +248,7 @@ public final class PgsParser implements SubtitleParser { (switchBits & 0x40) == 0 ? (switchBits & 0x3F) : (((switchBits & 0x3F) << 8) | bitmapData.readUnsignedByte()); - int color = (switchBits & 0x80) == 0 ? 0 : colors[bitmapData.readUnsignedByte()]; + int color = (switchBits & 0x80) == 0 ? colors[0] : colors[bitmapData.readUnsignedByte()]; Arrays.fill( argbBitmapData, argbBitmapDataIndex, argbBitmapDataIndex + runLength, color); argbBitmapDataIndex += runLength;