Handle factory attributes consistently
This change applies the same approach of handling tag/streamKeys from factories like in the SmoothStreaming and Hls factories. It is functionally equivalent but improves readability. PiperOrigin-RevId: 313771318
This commit is contained in:
parent
20ace93706
commit
52e39cd755
@ -376,15 +376,21 @@ public final class DashMediaSource extends BaseMediaSource {
|
||||
manifestParser = new DashManifestParser();
|
||||
}
|
||||
List<StreamKey> streamKeys =
|
||||
!mediaItem.playbackProperties.streamKeys.isEmpty()
|
||||
? mediaItem.playbackProperties.streamKeys
|
||||
: this.streamKeys;
|
||||
mediaItem.playbackProperties.streamKeys.isEmpty()
|
||||
? this.streamKeys
|
||||
: mediaItem.playbackProperties.streamKeys;
|
||||
if (!streamKeys.isEmpty()) {
|
||||
manifestParser = new FilteringManifestParser<>(manifestParser, streamKeys);
|
||||
}
|
||||
if (mediaItem.playbackProperties.tag == null && tag != null) {
|
||||
|
||||
boolean needsTag = mediaItem.playbackProperties.tag == null && tag != null;
|
||||
boolean needsStreamKeys =
|
||||
mediaItem.playbackProperties.streamKeys.isEmpty() && !streamKeys.isEmpty();
|
||||
if (needsTag && needsStreamKeys) {
|
||||
mediaItem = mediaItem.buildUpon().setTag(tag).setStreamKeys(streamKeys).build();
|
||||
} else if (mediaItem.playbackProperties.streamKeys.isEmpty() && !streamKeys.isEmpty()) {
|
||||
} else if (needsTag) {
|
||||
mediaItem = mediaItem.buildUpon().setTag(tag).build();
|
||||
} else if (needsStreamKeys) {
|
||||
mediaItem = mediaItem.buildUpon().setStreamKeys(streamKeys).build();
|
||||
}
|
||||
return new DashMediaSource(
|
||||
|
Loading…
x
Reference in New Issue
Block a user