fix(android): fix null pointer exception at playback start with item metadata (#3879)

* fix(android): fix null pointer exception at playback start with item metadata
This commit is contained in:
Olivier Bouillet
2024-06-07 15:06:49 +02:00
committed by GitHub
parent d4a8c24f65
commit c2cd7529fd
2 changed files with 5 additions and 13 deletions

View File

@@ -991,6 +991,8 @@ public class ReactExoplayerView extends FrameLayout implements
MediaItem.Builder mediaItemBuilder = new MediaItem.Builder()
.setUri(uri);
// refresh custom Metadata
customMetadata = ConfigurationUtils.buildCustomMetadata(source.getMetadata());
if (customMetadata != null) {
mediaItemBuilder.setMediaMetadata(customMetadata);
}
@@ -1761,19 +1763,6 @@ public class ReactExoplayerView extends FrameLayout implements
DataSourceUtil.getDefaultDataSourceFactory(this.themedReactContext, bandwidthMeter,
source.getHeaders());
// refresh custom Metadata
MediaMetadata newCustomMetadata = ConfigurationUtils.buildCustomMetadata(source.getMetadata());
// Apply custom metadata is possible
if (player != null && !Util.areEqual(newCustomMetadata, customMetadata)) {
customMetadata = newCustomMetadata;
MediaItem currentMediaItem = player.getCurrentMediaItem();
if (currentMediaItem != null) {
MediaItem newMediaItem = currentMediaItem.buildUpon().setMediaMetadata(customMetadata).build();
// This will cause video blink/reload but won't louse progress
player.setMediaItem(newMediaItem, false);
}
}
if (!isSourceEqual) {
reloadSource();
}