
When ExtractorInput.getLength() returns a defined length, the SubtitleExtractor will create a buffer of the same length, call ExtractorInput.read() until it has read the input bytes, plus one more time where ExtractorInput.read() returns RESULT_END_OF_INPUT. The last call to ExtractorInput.read() however will make the SubtitleExtractor to increase its buffer (including a copy) unnecessarily. This change makes the SubtitleExtractor avoid calling ExtractorInput.read() if the expected number of bytes have already been read, so that the internal buffer does not grow. PiperOrigin-RevId: 402583610
ExoPlayer library
The ExoPlayer library is split into multiple modules. See ExoPlayer's top level README for more information about the available library modules and how to use them.