Commit 15d13bdc by andrewlewis Committed by Oliver Woodman

Handle metadata failing to decode in MetadataRenderer

Issue: #5149
PiperOrigin-RevId: 223121651
parent 017923ed
...@@ -20,6 +20,8 @@ ...@@ -20,6 +20,8 @@
([#4690](https://github.com/google/ExoPlayer/issues/4690)). ([#4690](https://github.com/google/ExoPlayer/issues/4690)).
* Fix issue with applying the `show_buffering` attribute in `PlayerView` * Fix issue with applying the `show_buffering` attribute in `PlayerView`
([#5139](https://github.com/google/ExoPlayer/issues/5139)). ([#5139](https://github.com/google/ExoPlayer/issues/5139)).
* Fix issue where null `Metadata` was output when it failed to decode
([#5149](https://github.com/google/ExoPlayer/issues/5149)).
### 2.9.1 ### ### 2.9.1 ###
......
...@@ -129,12 +129,15 @@ public final class MetadataRenderer extends BaseRenderer implements Callback { ...@@ -129,12 +129,15 @@ public final class MetadataRenderer extends BaseRenderer implements Callback {
buffer.subsampleOffsetUs = formatHolder.format.subsampleOffsetUs; buffer.subsampleOffsetUs = formatHolder.format.subsampleOffsetUs;
buffer.flip(); buffer.flip();
int index = (pendingMetadataIndex + pendingMetadataCount) % MAX_PENDING_METADATA_COUNT; int index = (pendingMetadataIndex + pendingMetadataCount) % MAX_PENDING_METADATA_COUNT;
pendingMetadata[index] = decoder.decode(buffer); Metadata metadata = decoder.decode(buffer);
if (metadata != null) {
pendingMetadata[index] = metadata;
pendingMetadataTimestamps[index] = buffer.timeUs; pendingMetadataTimestamps[index] = buffer.timeUs;
pendingMetadataCount++; pendingMetadataCount++;
} }
} }
} }
}
if (pendingMetadataCount > 0 && pendingMetadataTimestamps[pendingMetadataIndex] <= positionUs) { if (pendingMetadataCount > 0 && pendingMetadataTimestamps[pendingMetadataIndex] <= positionUs) {
invokeRenderer(pendingMetadata[pendingMetadataIndex]); invokeRenderer(pendingMetadata[pendingMetadataIndex]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment