Java Examples for com.google.android.exoplayer2.source.dash.manifest.AdaptationSet
The following java examples will help you to understand the usage of com.google.android.exoplayer2.source.dash.manifest.AdaptationSet. These source code samples are taken from different open source projects.
Example 1
| Project: ExoPlayer-master File: DashMediaPeriod.java View source code |
// Internal methods. private static Pair<TrackGroupArray, EmbeddedTrackInfo[]> buildTrackGroups(List<AdaptationSet> adaptationSets) { int adaptationSetCount = adaptationSets.size(); int embeddedTrackCount = getEmbeddedTrackCount(adaptationSets); TrackGroup[] trackGroupArray = new TrackGroup[adaptationSetCount + embeddedTrackCount]; EmbeddedTrackInfo[] embeddedTrackInfos = new EmbeddedTrackInfo[embeddedTrackCount]; int embeddedTrackIndex = 0; for (int i = 0; i < adaptationSetCount; i++) { AdaptationSet adaptationSet = adaptationSets.get(i); List<Representation> representations = adaptationSet.representations; Format[] formats = new Format[representations.size()]; for (int j = 0; j < formats.length; j++) { formats[j] = representations.get(j).format; } trackGroupArray[i] = new TrackGroup(formats); if (hasEventMessageTrack(adaptationSet)) { Format format = Format.createSampleFormat(adaptationSet.id + ":emsg", MimeTypes.APPLICATION_EMSG, null, Format.NO_VALUE, null); trackGroupArray[adaptationSetCount + embeddedTrackIndex] = new TrackGroup(format); embeddedTrackInfos[embeddedTrackIndex++] = new EmbeddedTrackInfo(i, C.TRACK_TYPE_METADATA); } if (hasCea608Track(adaptationSet)) { Format format = Format.createTextSampleFormat(adaptationSet.id + ":cea608", MimeTypes.APPLICATION_CEA608, null, Format.NO_VALUE, 0, null, null); trackGroupArray[adaptationSetCount + embeddedTrackIndex] = new TrackGroup(format); embeddedTrackInfos[embeddedTrackIndex++] = new EmbeddedTrackInfo(i, C.TRACK_TYPE_TEXT); } } return Pair.create(new TrackGroupArray(trackGroupArray), embeddedTrackInfos); }