Simplify usage of MediaItem.Builder in DashMediaSource
This change only calls setters if we need to override the existing value (or more specifically, set a value that's absent). PiperOrigin-RevId: 397979904
This commit is contained in:
parent
387e14acef
commit
9932c12d77
@ -312,28 +312,25 @@ public final class DashMediaSource extends BaseMediaSource {
|
|||||||
*/
|
*/
|
||||||
public DashMediaSource createMediaSource(DashManifest manifest, MediaItem mediaItem) {
|
public DashMediaSource createMediaSource(DashManifest manifest, MediaItem mediaItem) {
|
||||||
Assertions.checkArgument(!manifest.dynamic);
|
Assertions.checkArgument(!manifest.dynamic);
|
||||||
List<StreamKey> streamKeys =
|
MediaItem.Builder mediaItemBuilder =
|
||||||
mediaItem.playbackProperties != null && !mediaItem.playbackProperties.streamKeys.isEmpty()
|
mediaItem.buildUpon().setMimeType(MimeTypes.APPLICATION_MPD);
|
||||||
? mediaItem.playbackProperties.streamKeys
|
if (mediaItem.playbackProperties == null) {
|
||||||
: this.streamKeys;
|
mediaItemBuilder.setUri(Uri.EMPTY);
|
||||||
if (!streamKeys.isEmpty()) {
|
}
|
||||||
|
if (mediaItem.playbackProperties == null || mediaItem.playbackProperties.tag == null) {
|
||||||
|
mediaItemBuilder.setTag(tag);
|
||||||
|
}
|
||||||
|
if (mediaItem.liveConfiguration.targetOffsetMs == C.TIME_UNSET) {
|
||||||
|
mediaItemBuilder.setLiveTargetOffsetMs(targetLiveOffsetOverrideMs);
|
||||||
|
}
|
||||||
|
if (mediaItem.playbackProperties == null
|
||||||
|
|| mediaItem.playbackProperties.streamKeys.isEmpty()) {
|
||||||
|
mediaItemBuilder.setStreamKeys(streamKeys);
|
||||||
|
}
|
||||||
|
mediaItem = mediaItemBuilder.build();
|
||||||
|
if (!checkNotNull(mediaItem.playbackProperties).streamKeys.isEmpty()) {
|
||||||
manifest = manifest.copy(streamKeys);
|
manifest = manifest.copy(streamKeys);
|
||||||
}
|
}
|
||||||
boolean hasUri = mediaItem.playbackProperties != null;
|
|
||||||
boolean hasTag = hasUri && mediaItem.playbackProperties.tag != null;
|
|
||||||
boolean hasTargetLiveOffset = mediaItem.liveConfiguration.targetOffsetMs != C.TIME_UNSET;
|
|
||||||
mediaItem =
|
|
||||||
mediaItem
|
|
||||||
.buildUpon()
|
|
||||||
.setMimeType(MimeTypes.APPLICATION_MPD)
|
|
||||||
.setUri(hasUri ? mediaItem.playbackProperties.uri : Uri.EMPTY)
|
|
||||||
.setTag(hasTag ? mediaItem.playbackProperties.tag : tag)
|
|
||||||
.setLiveTargetOffsetMs(
|
|
||||||
hasTargetLiveOffset
|
|
||||||
? mediaItem.liveConfiguration.targetOffsetMs
|
|
||||||
: targetLiveOffsetOverrideMs)
|
|
||||||
.setStreamKeys(streamKeys)
|
|
||||||
.build();
|
|
||||||
return new DashMediaSource(
|
return new DashMediaSource(
|
||||||
mediaItem,
|
mediaItem,
|
||||||
manifest,
|
manifest,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user