Skip to content

Commit e8c4d1c

Browse files
committed
exoplayer: upd sabr classes
1 parent a613f2a commit e8c4d1c

File tree

4 files changed

+18
-16
lines changed

4 files changed

+18
-16
lines changed

exoplayer-amzn-2.10.6/library/sabr/src/main/java/com/google/android/exoplayer2/source/sabr/parser/SabrExtractor.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ public class SabrExtractor implements Extractor {
202202
private final SabrStream sabrStream;
203203
private final SparseArray<Track> tracks;
204204
private final boolean seekForCuesEnabled;
205-
private final Format format;
205+
private Format format;
206206
private final int trackType;
207207

208208
// Temporary arrays.
@@ -365,6 +365,8 @@ private void initializeFormat(FormatInitializedSabrPart part) throws ParserExcep
365365
//startMasterElement
366366
//endMasterElement
367367

368+
format = part.formatSelector.getSelectedFormat();
369+
368370
initCurrentTrack();
369371

370372
// TODO: init seekMap

exoplayer-amzn-2.10.6/library/sabr/src/main/java/com/google/android/exoplayer2/source/sabr/parser/SabrProcessor.java

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -700,8 +700,8 @@ public int getLiveSegmentTargetDurationSec() {
700700
//}
701701

702702
public VideoPlaybackAbrRequest buildVideoPlaybackAbrRequest(int trackType, boolean isInit) {
703-
Format selectedVideoFormat = getSelectedFormat(videoFormatSelector);
704-
Format selectedAudioFormat = getSelectedFormat(audioFormatSelector);
703+
Format selectedVideoFormat = videoFormatSelector.getSelectedFormat();
704+
Format selectedAudioFormat = audioFormatSelector.getSelectedFormat();
705705
int height = trackType == C.TRACK_TYPE_VIDEO && selectedVideoFormat != null
706706
? selectedVideoFormat.height : -1;
707707
int bandwidthEstimate = trackType == C.TRACK_TYPE_VIDEO && selectedVideoFormat != null
@@ -725,11 +725,11 @@ public VideoPlaybackAbrRequest buildVideoPlaybackAbrRequest(int trackType, boole
725725
// .setAudioTrackId("0");
726726
}
727727

728-
ClientAbrState clientAbrStateMod = clientAbrStateBuilder.build();
728+
ClientAbrState clientAbrState = clientAbrStateBuilder.build();
729729

730730
Pair<List<BufferedRange>, FormatId> bufferRanges = addBufferingInfoToAbrRequest(trackType);
731731

732-
List<FormatId> selectedFormats = getSelectedFormatIds(trackType);
732+
List<FormatId> selectedFormats = createSelectedFormatIds(trackType);
733733

734734
if (isInit) {
735735
selectedFormats.clear();
@@ -740,7 +740,7 @@ public VideoPlaybackAbrRequest buildVideoPlaybackAbrRequest(int trackType, boole
740740
}
741741

742742
return VideoPlaybackAbrRequest.newBuilder()
743-
.setClientAbrState(clientAbrStateMod)
743+
.setClientAbrState(clientAbrState)
744744
.addAllPreferredVideoFormatIds(videoFormatSelector.formatIds)
745745
.addAllPreferredAudioFormatIds(audioFormatSelector.formatIds)
746746
.addAllPreferredSubtitleFormatIds(captionFormatSelector.formatIds)
@@ -755,11 +755,7 @@ public VideoPlaybackAbrRequest buildVideoPlaybackAbrRequest(int trackType, boole
755755
.build();
756756
}
757757

758-
private static Format getSelectedFormat(FormatSelector formatSelector) {
759-
return formatSelector != null && !formatSelector.selectedFormats.isEmpty() ? formatSelector.selectedFormats.get(0) : null;
760-
}
761-
762-
private List<FormatId> getSelectedFormatIds() {
758+
private List<FormatId> createSelectedFormatIds() {
763759
List<FormatId> result = new ArrayList<>();
764760

765761
for (SelectedFormat selectedFormat : selectedFormats.values()) {
@@ -769,15 +765,15 @@ private List<FormatId> getSelectedFormatIds() {
769765
return result;
770766
}
771767

772-
private List<FormatId> getSelectedFormatIds(int trackType) {
768+
private List<FormatId> createSelectedFormatIds(int trackType) {
773769
List<FormatId> result = new ArrayList<>();
774770

775771
if (!videoFormatSelector.formatIds.isEmpty() && trackType == C.TRACK_TYPE_VIDEO) {
776-
result = videoFormatSelector.formatIds;
772+
result.addAll(videoFormatSelector.formatIds);
777773
} else if (!audioFormatSelector.formatIds.isEmpty() && trackType == C.TRACK_TYPE_AUDIO) {
778-
result = audioFormatSelector.formatIds;
774+
result.addAll(audioFormatSelector.formatIds);
779775
} else if (!captionFormatSelector.formatIds.isEmpty() && trackType == C.TRACK_TYPE_TEXT) {
780-
result = captionFormatSelector.formatIds;
776+
result.addAll(captionFormatSelector.formatIds);
781777
}
782778

783779
return result;

exoplayer-amzn-2.10.6/library/sabr/src/main/java/com/google/android/exoplayer2/source/sabr/parser/models/FormatSelector.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ public boolean isDiscardMedia() {
5353
return discardMedia;
5454
}
5555

56+
public Format getSelectedFormat() {
57+
return !selectedFormats.isEmpty() ? selectedFormats.get(0) : null;
58+
}
59+
5660
private static FormatId createFormatId(Format format) {
5761
FormatId formatId = FormatId.newBuilder()
5862
.setItag(Helpers.parseInt(format.id))

0 commit comments

Comments
 (0)