Merge pull request #9924 from jruesga:cea708-decoder-honor-service-block-size
PiperOrigin-RevId: 426953267
This commit is contained in:
commit
60d9ae4758
@ -81,6 +81,8 @@
|
|||||||
([#9673](https://github.com/google/ExoPlayer/issues/9673)).
|
([#9673](https://github.com/google/ExoPlayer/issues/9673)).
|
||||||
* Add basic support for WebVTT subtitles in Matroska containers
|
* Add basic support for WebVTT subtitles in Matroska containers
|
||||||
([#9886](https://github.com/google/ExoPlayer/issues/9886)).
|
([#9886](https://github.com/google/ExoPlayer/issues/9886)).
|
||||||
|
* Prevent `Cea708Decoder` from reading more than the declared size of a
|
||||||
|
service block.
|
||||||
* DRM:
|
* DRM:
|
||||||
* Remove `playbackLooper` from `DrmSessionManager.(pre)acquireSession`.
|
* Remove `playbackLooper` from `DrmSessionManager.(pre)acquireSession`.
|
||||||
When a `DrmSessionManager` is used by an app in a custom `MediaSource`,
|
When a `DrmSessionManager` is used by an app in a custom `MediaSource`,
|
||||||
|
@ -327,7 +327,9 @@ public final class Cea708Decoder extends CeaDecoder {
|
|||||||
// 8.10.4 for more details.
|
// 8.10.4 for more details.
|
||||||
boolean cuesNeedUpdate = false;
|
boolean cuesNeedUpdate = false;
|
||||||
|
|
||||||
while (serviceBlockPacket.bitsLeft() > 0) {
|
int blockEndBitPosition = serviceBlockPacket.getPosition() + (blockSize * 8);
|
||||||
|
while (serviceBlockPacket.bitsLeft() > 0
|
||||||
|
&& serviceBlockPacket.getPosition() < blockEndBitPosition) {
|
||||||
int command = serviceBlockPacket.readBits(8);
|
int command = serviceBlockPacket.readBits(8);
|
||||||
if (command != COMMAND_EXT1) {
|
if (command != COMMAND_EXT1) {
|
||||||
if (command <= GROUP_C0_END) {
|
if (command <= GROUP_C0_END) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user