Commit fdfe6318 by ibaker Committed by Oliver Woodman

Remove null-ness of muxedCaptionFormats list

Pre-work for removing HlsMasterPlaylist and HlsPlaylistParser from null-checking
blacklist.

PiperOrigin-RevId: 274585117
parent ce625215
...@@ -635,10 +635,8 @@ public final class HlsMediaPeriod implements MediaPeriod, HlsSampleStreamWrapper ...@@ -635,10 +635,8 @@ public final class HlsMediaPeriod implements MediaPeriod, HlsSampleStreamWrapper
/* isPrimaryTrackInVariant= */ false))); /* isPrimaryTrackInVariant= */ false)));
} }
List<Format> ccFormats = masterPlaylist.muxedCaptionFormats; List<Format> ccFormats = masterPlaylist.muxedCaptionFormats;
if (ccFormats != null) { for (int i = 0; i < ccFormats.size(); i++) {
for (int i = 0; i < ccFormats.size(); i++) { muxedTrackGroups.add(new TrackGroup(ccFormats.get(i)));
muxedTrackGroups.add(new TrackGroup(ccFormats.get(i)));
}
} }
} else if (variantsContainAudioCodecs) { } else if (variantsContainAudioCodecs) {
// Variants only contain audio. // Variants only contain audio.
......
...@@ -177,8 +177,7 @@ public final class HlsMasterPlaylist extends HlsPlaylist { ...@@ -177,8 +177,7 @@ public final class HlsMasterPlaylist extends HlsPlaylist {
@Nullable public final Format muxedAudioFormat; @Nullable public final Format muxedAudioFormat;
/** /**
* The format of the closed captions declared by the playlist. May be empty if the playlist * The format of the closed captions declared by the playlist. May be empty if the playlist
* explicitly declares no captions are available, or null if the playlist does not declare any * doesn't declare any caption information or explicitly declares no captions are available.
* captions information.
*/ */
public final List<Format> muxedCaptionFormats; public final List<Format> muxedCaptionFormats;
/** Contains variable definitions, as defined by the #EXT-X-DEFINE tag. */ /** Contains variable definitions, as defined by the #EXT-X-DEFINE tag. */
...@@ -223,8 +222,7 @@ public final class HlsMasterPlaylist extends HlsPlaylist { ...@@ -223,8 +222,7 @@ public final class HlsMasterPlaylist extends HlsPlaylist {
this.subtitles = Collections.unmodifiableList(subtitles); this.subtitles = Collections.unmodifiableList(subtitles);
this.closedCaptions = Collections.unmodifiableList(closedCaptions); this.closedCaptions = Collections.unmodifiableList(closedCaptions);
this.muxedAudioFormat = muxedAudioFormat; this.muxedAudioFormat = muxedAudioFormat;
this.muxedCaptionFormats = muxedCaptionFormats != null this.muxedCaptionFormats = Collections.unmodifiableList(muxedCaptionFormats);
? Collections.unmodifiableList(muxedCaptionFormats) : null;
this.variableDefinitions = Collections.unmodifiableMap(variableDefinitions); this.variableDefinitions = Collections.unmodifiableMap(variableDefinitions);
this.sessionKeyDrmInitData = Collections.unmodifiableList(sessionKeyDrmInitData); this.sessionKeyDrmInitData = Collections.unmodifiableList(sessionKeyDrmInitData);
} }
...@@ -266,7 +264,7 @@ public final class HlsMasterPlaylist extends HlsPlaylist { ...@@ -266,7 +264,7 @@ public final class HlsMasterPlaylist extends HlsPlaylist {
/* subtitles= */ Collections.emptyList(), /* subtitles= */ Collections.emptyList(),
/* closedCaptions= */ Collections.emptyList(), /* closedCaptions= */ Collections.emptyList(),
/* muxedAudioFormat= */ null, /* muxedAudioFormat= */ null,
/* muxedCaptionFormats= */ null, /* muxedCaptionFormats= */ Collections.emptyList(),
/* hasIndependentSegments= */ false, /* hasIndependentSegments= */ false,
/* variableDefinitions= */ Collections.emptyMap(), /* variableDefinitions= */ Collections.emptyMap(),
/* sessionKeyDrmInitData= */ Collections.emptyList()); /* sessionKeyDrmInitData= */ Collections.emptyList());
......
...@@ -267,7 +267,7 @@ public final class HlsPlaylistParser implements ParsingLoadable.Parser<HlsPlayli ...@@ -267,7 +267,7 @@ public final class HlsPlaylistParser implements ParsingLoadable.Parser<HlsPlayli
ArrayList<DrmInitData> sessionKeyDrmInitData = new ArrayList<>(); ArrayList<DrmInitData> sessionKeyDrmInitData = new ArrayList<>();
ArrayList<String> tags = new ArrayList<>(); ArrayList<String> tags = new ArrayList<>();
Format muxedAudioFormat = null; Format muxedAudioFormat = null;
List<Format> muxedCaptionFormats = null; List<Format> muxedCaptionFormats = new ArrayList<>();
boolean noClosedCaptions = false; boolean noClosedCaptions = false;
boolean hasIndependentSegmentsTag = false; boolean hasIndependentSegmentsTag = false;
...@@ -494,9 +494,6 @@ public final class HlsPlaylistParser implements ParsingLoadable.Parser<HlsPlayli ...@@ -494,9 +494,6 @@ public final class HlsPlaylistParser implements ParsingLoadable.Parser<HlsPlayli
mimeType = MimeTypes.APPLICATION_CEA708; mimeType = MimeTypes.APPLICATION_CEA708;
accessibilityChannel = Integer.parseInt(instreamId.substring(7)); accessibilityChannel = Integer.parseInt(instreamId.substring(7));
} }
if (muxedCaptionFormats == null) {
muxedCaptionFormats = new ArrayList<>();
}
muxedCaptionFormats.add( muxedCaptionFormats.add(
Format.createTextContainerFormat( Format.createTextContainerFormat(
/* id= */ formatId, /* id= */ formatId,
...@@ -518,7 +515,7 @@ public final class HlsPlaylistParser implements ParsingLoadable.Parser<HlsPlayli ...@@ -518,7 +515,7 @@ public final class HlsPlaylistParser implements ParsingLoadable.Parser<HlsPlayli
} }
if (noClosedCaptions) { if (noClosedCaptions) {
muxedCaptionFormats = Collections.emptyList(); muxedCaptionFormats.clear();
} }
return new HlsMasterPlaylist( return new HlsMasterPlaylist(
......
...@@ -200,7 +200,7 @@ public class HlsMasterPlaylistParserTest { ...@@ -200,7 +200,7 @@ public class HlsMasterPlaylistParserTest {
List<HlsMasterPlaylist.Variant> variants = masterPlaylist.variants; List<HlsMasterPlaylist.Variant> variants = masterPlaylist.variants;
assertThat(variants).hasSize(5); assertThat(variants).hasSize(5);
assertThat(masterPlaylist.muxedCaptionFormats).isNull(); assertThat(masterPlaylist.muxedCaptionFormats).isEmpty();
assertThat(variants.get(0).format.bitrate).isEqualTo(1280000); assertThat(variants.get(0).format.bitrate).isEqualTo(1280000);
assertThat(variants.get(0).format.codecs).isEqualTo("mp4a.40.2,avc1.66.30"); assertThat(variants.get(0).format.codecs).isEqualTo("mp4a.40.2,avc1.66.30");
......
...@@ -456,7 +456,7 @@ public class HlsMediaPlaylistParserTest { ...@@ -456,7 +456,7 @@ public class HlsMediaPlaylistParserTest {
/* subtitles= */ Collections.emptyList(), /* subtitles= */ Collections.emptyList(),
/* closedCaptions= */ Collections.emptyList(), /* closedCaptions= */ Collections.emptyList(),
/* muxedAudioFormat= */ null, /* muxedAudioFormat= */ null,
/* muxedCaptionFormats= */ null, /* muxedCaptionFormats= */ Collections.emptyList(),
/* hasIndependentSegments= */ true, /* hasIndependentSegments= */ true,
/* variableDefinitions= */ Collections.emptyMap(), /* variableDefinitions= */ Collections.emptyMap(),
/* sessionKeyDrmInitData= */ Collections.emptyList()); /* sessionKeyDrmInitData= */ Collections.emptyList());
......
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