From 4c1f0c40ce3f7b3a65df37933d99d364ebb597bb Mon Sep 17 00:00:00 2001 From: olly Date: Fri, 28 Feb 2020 17:51:30 +0000 Subject: [PATCH] Format.Builder: Simplify some test classes PiperOrigin-RevId: 297865356 --- .../mediacodec/MediaCodecUtilTest.java | 82 +-- .../DefaultTrackSelectorTest.java | 591 +++++------------- .../MappingTrackSelectorTest.java | 38 +- 3 files changed, 176 insertions(+), 535 deletions(-) diff --git a/library/core/src/test/java/com/google/android/exoplayer2/mediacodec/MediaCodecUtilTest.java b/library/core/src/test/java/com/google/android/exoplayer2/mediacodec/MediaCodecUtilTest.java index 3693e494d4..587e2f2202 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/mediacodec/MediaCodecUtilTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/mediacodec/MediaCodecUtilTest.java @@ -96,22 +96,11 @@ public final class MediaCodecUtilTest { /* colorTransfer= */ C.COLOR_TRANSFER_SDR, /* hdrStaticInfo= */ new byte[] {1, 2, 3, 4, 5, 6, 7}); Format format = - Format.createVideoSampleFormat( - /* id= */ null, - MimeTypes.VIDEO_AV1, - /* codecs= */ "av01.0.21M.10", - /* bitrate= */ Format.NO_VALUE, - /* maxInputSize= */ Format.NO_VALUE, - /* width= */ 1024, - /* height= */ 768, - /* frameRate= */ Format.NO_VALUE, - /* initializationData= */ null, - /* rotationDegrees= */ Format.NO_VALUE, - /* pixelWidthHeightRatio= */ 0, - /* projectionData= */ null, - /* stereoMode= */ Format.NO_VALUE, - /* colorInfo= */ colorInfo, - /* drmInitData */ null); + new Format.Builder() + .setSampleMimeType(MimeTypes.VIDEO_AV1) + .setCodecs("av01.0.21M.10") + .setColorInfo(colorInfo) + .build(); assertCodecProfileAndLevelForFormat( format, MediaCodecInfo.CodecProfileLevel.AV1ProfileMain10HDR10, @@ -127,22 +116,11 @@ public final class MediaCodecUtilTest { /* colorTransfer= */ C.COLOR_TRANSFER_HLG, /* hdrStaticInfo= */ null); Format format = - Format.createVideoSampleFormat( - /* id= */ null, - MimeTypes.VIDEO_AV1, - /* codecs= */ "av01.0.21M.10", - /* bitrate= */ Format.NO_VALUE, - /* maxInputSize= */ Format.NO_VALUE, - /* width= */ 1024, - /* height= */ 768, - /* frameRate= */ Format.NO_VALUE, - /* initializationData= */ null, - /* rotationDegrees= */ Format.NO_VALUE, - /* pixelWidthHeightRatio= */ 0, - /* projectionData= */ null, - /* stereoMode= */ Format.NO_VALUE, - /* colorInfo= */ colorInfo, - /* drmInitData */ null); + new Format.Builder() + .setSampleMimeType(MimeTypes.VIDEO_AV1) + .setCodecs("av01.0.21M.10") + .setColorInfo(colorInfo) + .build(); assertCodecProfileAndLevelForFormat( format, MediaCodecInfo.CodecProfileLevel.AV1ProfileMain10HDR10, @@ -161,52 +139,20 @@ public final class MediaCodecUtilTest { @Test public void getCodecProfileAndLevel_rejectsNullCodecString() { - Format format = - Format.createVideoSampleFormat( - /* id= */ null, - /* sampleMimeType= */ MimeTypes.VIDEO_UNKNOWN, - /* codecs= */ null, - /* bitrate= */ Format.NO_VALUE, - /* maxInputSize= */ Format.NO_VALUE, - /* width= */ 1024, - /* height= */ 768, - /* frameRate= */ Format.NO_VALUE, - /* initializationData= */ null, - /* drmInitData= */ null); + Format format = new Format.Builder().setCodecs(null).build(); assertThat(MediaCodecUtil.getCodecProfileAndLevel(format)).isNull(); } @Test public void getCodecProfileAndLevel_rejectsEmptyCodecString() { - Format format = - Format.createVideoSampleFormat( - /* id= */ null, - /* sampleMimeType= */ MimeTypes.VIDEO_UNKNOWN, - /* codecs= */ "", - /* bitrate= */ Format.NO_VALUE, - /* maxInputSize= */ Format.NO_VALUE, - /* width= */ 1024, - /* height= */ 768, - /* frameRate= */ Format.NO_VALUE, - /* initializationData= */ null, - /* drmInitData= */ null); + Format format = new Format.Builder().setCodecs("").build(); assertThat(MediaCodecUtil.getCodecProfileAndLevel(format)).isNull(); } private static void assertCodecProfileAndLevelForCodecsString( - String mimeType, String codecs, int profile, int level) { + String sampleMimeType, String codecs, int profile, int level) { Format format = - Format.createVideoSampleFormat( - /* id= */ null, - mimeType, - /* codecs= */ codecs, - /* bitrate= */ Format.NO_VALUE, - /* maxInputSize= */ Format.NO_VALUE, - /* width= */ 1024, - /* height= */ 768, - /* frameRate= */ Format.NO_VALUE, - /* initializationData= */ null, - /* drmInitData= */ null); + new Format.Builder().setSampleMimeType(sampleMimeType).setCodecs(codecs).build(); assertCodecProfileAndLevelForFormat(format, profile, level); } diff --git a/library/core/src/test/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelectorTest.java b/library/core/src/test/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelectorTest.java index a4a9053326..ecd1a221f4 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelectorTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelectorTest.java @@ -79,8 +79,21 @@ public final class DefaultTrackSelectorTest { private static final RendererCapabilities[] RENDERER_CAPABILITIES_WITH_NO_SAMPLE_RENDERER = new RendererCapabilities[] {VIDEO_CAPABILITIES, NO_SAMPLE_CAPABILITIES}; - private static final Format VIDEO_FORMAT = buildVideoFormat("video"); - private static final Format AUDIO_FORMAT = buildAudioFormat("audio"); + private static final Format VIDEO_FORMAT = + new Format.Builder() + .setSampleMimeType(MimeTypes.VIDEO_H264) + .setWidth(1024) + .setHeight(768) + .build(); + private static final Format AUDIO_FORMAT = + new Format.Builder() + .setSampleMimeType(MimeTypes.AUDIO_AAC) + .setChannelCount(2) + .setSampleRate(44100) + .build(); + private static final Format TEXT_FORMAT = + new Format.Builder().setSampleMimeType(MimeTypes.TEXT_VTT).build(); + private static final TrackGroup VIDEO_TRACK_GROUP = new TrackGroup(VIDEO_FORMAT); private static final TrackGroup AUDIO_TRACK_GROUP = new TrackGroup(AUDIO_FORMAT); private static final TrackGroupArray TRACK_GROUPS = @@ -328,12 +341,10 @@ public final class DefaultTrackSelectorTest { */ @Test public void selectTracksSelectTrackWithSelectionFlag() throws Exception { - Format audioFormat = - buildAudioFormatWithLanguageAndFlags( - "audio", /* language= */ null, /* selectionFlags= */ 0); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + Format audioFormat = formatBuilder.setSelectionFlags(0).build(); Format formatWithSelectionFlag = - buildAudioFormatWithLanguageAndFlags( - "audio", /* language= */ null, C.SELECTION_FLAG_DEFAULT); + formatBuilder.setSelectionFlags(C.SELECTION_FLAG_DEFAULT).build(); TrackGroupArray trackGroups = wrapFormats(audioFormat, formatWithSelectionFlag); TrackSelectorResult result = @@ -348,45 +359,10 @@ public final class DefaultTrackSelectorTest { /** Tests that adaptive audio track selections respect the maximum audio bitrate. */ @Test public void selectAdaptiveAudioTrackGroupWithMaxBitrate() throws ExoPlaybackException { - Format format128k = - Format.createAudioSampleFormat( - /* id= */ "128", - /* sampleMimeType= */ MimeTypes.AUDIO_AAC, - /* codecs= */ "mp4a.40.2", - /* bitrate= */ 128 * 1024, - /* maxInputSize= */ Format.NO_VALUE, - /* channelCount= */ 2, - /* sampleRate= */ 44100, - /* initializationData= */ null, - /* drmInitData= */ null, - /* selectionFlags= */ 0, - /* language= */ null); - Format format192k = - Format.createAudioSampleFormat( - /* id= */ "192", - /* sampleMimeType= */ MimeTypes.AUDIO_AAC, - /* codecs= */ "mp4a.40.2", - /* bitrate= */ 192 * 1024, - /* maxInputSize= */ Format.NO_VALUE, - /* channelCount= */ 2, - /* sampleRate= */ 44100, - /* initializationData= */ null, - /* drmInitData= */ null, - /* selectionFlags= */ 0, - /* language= */ null); - Format format256k = - Format.createAudioSampleFormat( - /* id= */ "256", - /* sampleMimeType= */ MimeTypes.AUDIO_AAC, - /* codecs= */ "mp4a.40.2", - /* bitrate= */ 256 * 1024, - /* maxInputSize= */ Format.NO_VALUE, - /* channelCount= */ 2, - /* sampleRate= */ 44100, - /* initializationData= */ null, - /* drmInitData= */ null, - /* selectionFlags= */ 0, - /* language= */ null); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + Format format128k = formatBuilder.setAverageBitrate(128 * 1024).build(); + Format format192k = formatBuilder.setAverageBitrate(192 * 1024).build(); + Format format256k = formatBuilder.setAverageBitrate(256 * 1024).build(); RendererCapabilities[] rendererCapabilities = { ALL_AUDIO_FORMAT_SUPPORTED_RENDERER_CAPABILITIES }; @@ -422,12 +398,9 @@ public final class DefaultTrackSelectorTest { */ @Test public void selectTracksSelectPreferredAudioLanguage() throws Exception { - Format frAudioFormat = - Format.createAudioSampleFormat("audio", MimeTypes.AUDIO_AAC, null, Format.NO_VALUE, - Format.NO_VALUE, 2, 44100, null, null, 0, "fra"); - Format enAudioFormat = - Format.createAudioSampleFormat("audio", MimeTypes.AUDIO_AAC, null, Format.NO_VALUE, - Format.NO_VALUE, 2, 44100, null, null, 0, "eng"); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + Format frAudioFormat = formatBuilder.setLanguage("fra").build(); + Format enAudioFormat = formatBuilder.setLanguage("eng").build(); TrackGroupArray trackGroups = wrapFormats(frAudioFormat, enAudioFormat); trackSelector.setParameters(defaultParameters.buildUpon().setPreferredAudioLanguage("eng")); @@ -446,13 +419,11 @@ public final class DefaultTrackSelectorTest { */ @Test public void selectTracksSelectPreferredAudioLanguageOverSelectionFlag() throws Exception { - Format frAudioFormat = - Format.createAudioSampleFormat("audio", MimeTypes.AUDIO_AAC, null, Format.NO_VALUE, - Format.NO_VALUE, 2, 44100, null, null, C.SELECTION_FLAG_DEFAULT, "fra"); - Format enAudioFormat = - Format.createAudioSampleFormat("audio", MimeTypes.AUDIO_AAC, null, Format.NO_VALUE, - Format.NO_VALUE, 2, 44100, null, null, 0, "eng"); - TrackGroupArray trackGroups = wrapFormats(frAudioFormat, enAudioFormat); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + Format frDefaultFormat = + formatBuilder.setLanguage("fra").setSelectionFlags(C.SELECTION_FLAG_DEFAULT).build(); + Format enNonDefaultFormat = formatBuilder.setLanguage("eng").setSelectionFlags(0).build(); + TrackGroupArray trackGroups = wrapFormats(frDefaultFormat, enNonDefaultFormat); trackSelector.setParameters(defaultParameters.buildUpon().setPreferredAudioLanguage("eng")); TrackSelectorResult result = @@ -461,7 +432,7 @@ public final class DefaultTrackSelectorTest { trackGroups, periodId, TIMELINE); - assertFixedSelection(result.selections.get(0), trackGroups, enAudioFormat); + assertFixedSelection(result.selections.get(0), trackGroups, enNonDefaultFormat); } /** @@ -470,8 +441,9 @@ public final class DefaultTrackSelectorTest { */ @Test public void selectTracksPreferTrackWithinCapabilities() throws Exception { - Format supportedFormat = buildAudioFormat("supportedFormat"); - Format exceededFormat = buildAudioFormat("exceededFormat"); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + Format supportedFormat = formatBuilder.setId("supportedFormat").build(); + Format exceededFormat = formatBuilder.setId("exceededFormat").build(); TrackGroupArray trackGroups = wrapFormats(exceededFormat, supportedFormat); Map mappedCapabilities = new HashMap<>(); @@ -496,10 +468,7 @@ public final class DefaultTrackSelectorTest { @Test public void selectTracksWithNoTrackWithinCapabilitiesSelectExceededCapabilityTrack() throws Exception { - Format audioFormat = - Format.createAudioSampleFormat("audio", MimeTypes.AUDIO_AAC, null, Format.NO_VALUE, - Format.NO_VALUE, 2, 44100, null, null, 0, null); - TrackGroupArray trackGroups = singleTrackGroup(audioFormat); + TrackGroupArray trackGroups = singleTrackGroup(AUDIO_FORMAT); TrackSelectorResult result = trackSelector.selectTracks( @@ -507,7 +476,7 @@ public final class DefaultTrackSelectorTest { trackGroups, periodId, TIMELINE); - assertFixedSelection(result.selections.get(0), trackGroups, audioFormat); + assertFixedSelection(result.selections.get(0), trackGroups, AUDIO_FORMAT); } /** @@ -518,10 +487,7 @@ public final class DefaultTrackSelectorTest { @Test public void selectTracksWithNoTrackWithinCapabilitiesAndSetByParamsReturnNoSelection() throws Exception { - Format audioFormat = - Format.createAudioSampleFormat("audio", MimeTypes.AUDIO_AAC, null, Format.NO_VALUE, - Format.NO_VALUE, 2, 44100, null, null, 0, null); - TrackGroupArray trackGroups = singleTrackGroup(audioFormat); + TrackGroupArray trackGroups = singleTrackGroup(AUDIO_FORMAT); trackSelector.setParameters( defaultParameters.buildUpon().setExceedRendererCapabilitiesIfNecessary(false)); @@ -540,22 +506,10 @@ public final class DefaultTrackSelectorTest { */ @Test public void selectTracksPreferTrackWithinCapabilitiesOverSelectionFlag() throws Exception { + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); Format exceededWithSelectionFlagFormat = - Format.createAudioSampleFormat( - "exceededFormat", - MimeTypes.AUDIO_AAC, - null, - Format.NO_VALUE, - Format.NO_VALUE, - 2, - 44100, - null, - null, - C.SELECTION_FLAG_DEFAULT, - null); - Format supportedFormat = - Format.createAudioSampleFormat("supportedFormat", MimeTypes.AUDIO_AAC, null, - Format.NO_VALUE, Format.NO_VALUE, 2, 44100, null, null, 0, null); + formatBuilder.setId("exceededFormat").setSelectionFlags(C.SELECTION_FLAG_DEFAULT).build(); + Format supportedFormat = formatBuilder.setId("supportedFormat").setSelectionFlags(0).build(); TrackGroupArray trackGroups = wrapFormats(exceededWithSelectionFlagFormat, supportedFormat); Map mappedCapabilities = new HashMap<>(); @@ -580,22 +534,9 @@ public final class DefaultTrackSelectorTest { */ @Test public void selectTracksPreferTrackWithinCapabilitiesOverPreferredLanguage() throws Exception { - Format exceededEnFormat = - Format.createAudioSampleFormat( - "exceededFormat", - MimeTypes.AUDIO_AAC, - null, - Format.NO_VALUE, - Format.NO_VALUE, - 2, - 44100, - null, - null, - 0, - "eng"); - Format supportedFrFormat = - Format.createAudioSampleFormat("supportedFormat", MimeTypes.AUDIO_AAC, null, - Format.NO_VALUE, Format.NO_VALUE, 2, 44100, null, null, 0, "fra"); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + Format exceededEnFormat = formatBuilder.setId("exceededFormat").setLanguage("eng").build(); + Format supportedFrFormat = formatBuilder.setId("supportedFormat").setLanguage("fra").build(); TrackGroupArray trackGroups = wrapFormats(exceededEnFormat, supportedFrFormat); Map mappedCapabilities = new HashMap<>(); @@ -622,22 +563,15 @@ public final class DefaultTrackSelectorTest { @Test public void selectTracksPreferTrackWithinCapabilitiesOverSelectionFlagAndPreferredLanguage() throws Exception { + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); Format exceededDefaultSelectionEnFormat = - Format.createAudioSampleFormat( - "exceededFormat", - MimeTypes.AUDIO_AAC, - null, - Format.NO_VALUE, - Format.NO_VALUE, - 2, - 44100, - null, - null, - C.SELECTION_FLAG_DEFAULT, - "eng"); + formatBuilder + .setId("exceededFormat") + .setSelectionFlags(C.SELECTION_FLAG_DEFAULT) + .setLanguage("eng") + .build(); Format supportedFrFormat = - Format.createAudioSampleFormat("supportedFormat", MimeTypes.AUDIO_AAC, null, - Format.NO_VALUE, Format.NO_VALUE, 2, 44100, null, null, 0, "fra"); + formatBuilder.setId("supportedFormat").setSelectionFlags(0).setLanguage("fra").build(); TrackGroupArray trackGroups = wrapFormats(exceededDefaultSelectionEnFormat, supportedFrFormat); Map mappedCapabilities = new HashMap<>(); @@ -662,22 +596,9 @@ public final class DefaultTrackSelectorTest { */ @Test public void selectTracksWithinCapabilitiesSelectHigherNumChannel() throws Exception { - Format higherChannelFormat = - Format.createAudioSampleFormat( - "audioFormat", - MimeTypes.AUDIO_AAC, - null, - Format.NO_VALUE, - Format.NO_VALUE, - 6, - 44100, - null, - null, - 0, - null); - Format lowerChannelFormat = - Format.createAudioSampleFormat("audioFormat", MimeTypes.AUDIO_AAC, null, Format.NO_VALUE, - Format.NO_VALUE, 2, 44100, null, null, 0, null); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + Format higherChannelFormat = formatBuilder.setChannelCount(6).build(); + Format lowerChannelFormat = formatBuilder.setChannelCount(2).build(); TrackGroupArray trackGroups = wrapFormats(higherChannelFormat, lowerChannelFormat); TrackSelectorResult result = @@ -695,12 +616,9 @@ public final class DefaultTrackSelectorTest { */ @Test public void selectTracksWithinCapabilitiesSelectHigherSampleRate() throws Exception { - Format higherSampleRateFormat = - Format.createAudioSampleFormat("audioFormat", MimeTypes.AUDIO_AAC, null, Format.NO_VALUE, - Format.NO_VALUE, 2, 44100, null, null, 0, null); - Format lowerSampleRateFormat = - Format.createAudioSampleFormat("audioFormat", MimeTypes.AUDIO_AAC, null, Format.NO_VALUE, - Format.NO_VALUE, 2, 22050, null, null, 0, null); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + Format higherSampleRateFormat = formatBuilder.setSampleRate(44100).build(); + Format lowerSampleRateFormat = formatBuilder.setSampleRate(22050).build(); TrackGroupArray trackGroups = wrapFormats(higherSampleRateFormat, lowerSampleRateFormat); TrackSelectorResult result = @@ -719,32 +637,9 @@ public final class DefaultTrackSelectorTest { @Test public void selectAudioTracks_withinCapabilities_andSameLanguage_selectsHigherBitrate() throws Exception { - Format lowerBitrateFormat = - Format.createAudioSampleFormat( - "audioFormat", - MimeTypes.AUDIO_AAC, - /* codecs= */ null, - /* bitrate= */ 15000, - /* maxInputSize= */ Format.NO_VALUE, - /* channelCount= */ 2, - /* sampleRate= */ 44100, - /* initializationData= */ null, - /* drmInitData= */ null, - /* selectionFlags= */ 0, - /* language= */ "hi"); - Format higherBitrateFormat = - Format.createAudioSampleFormat( - "audioFormat", - MimeTypes.AUDIO_AAC, - /* codecs= */ null, - /* bitrate= */ 30000, - /* maxInputSize= */ Format.NO_VALUE, - /* channelCount= */ 2, - /* sampleRate= */ 44100, - /* initializationData= */ null, - /* drmInitData= */ null, - /* selectionFlags= */ 0, - /* language= */ "hi"); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon().setLanguage("en"); + Format lowerBitrateFormat = formatBuilder.setAverageBitrate(15000).build(); + Format higherBitrateFormat = formatBuilder.setAverageBitrate(30000).build(); TrackGroupArray trackGroups = wrapFormats(lowerBitrateFormat, higherBitrateFormat); TrackSelectorResult result = @@ -764,32 +659,9 @@ public final class DefaultTrackSelectorTest { @Test public void selectAudioTracks_withinCapabilities_andDifferentLanguage_selectsFirstTrack() throws Exception { - Format firstLanguageFormat = - Format.createAudioSampleFormat( - "audioFormat", - MimeTypes.AUDIO_AAC, - /* codecs= */ null, - /* bitrate= */ 15000, - /* maxInputSize= */ Format.NO_VALUE, - /* channelCount= */ 2, - /* sampleRate= */ 44100, - /* initializationData= */ null, - /* drmInitData= */ null, - /* selectionFlags= */ 0, - /* language= */ "hi"); - Format higherBitrateFormat = - Format.createAudioSampleFormat( - "audioFormat", - MimeTypes.AUDIO_AAC, - /* codecs= */ null, - /* bitrate= */ 30000, - /* maxInputSize= */ Format.NO_VALUE, - /* channelCount= */ 2, - /* sampleRate= */ 44100, - /* initializationData= */ null, - /* drmInitData= */ null, - /* selectionFlags= */ 0, - /* language= */ "te"); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + Format firstLanguageFormat = formatBuilder.setAverageBitrate(15000).setLanguage("hi").build(); + Format higherBitrateFormat = formatBuilder.setAverageBitrate(30000).setLanguage("te").build(); TrackGroupArray trackGroups = wrapFormats(firstLanguageFormat, higherBitrateFormat); TrackSelectorResult result = @@ -808,22 +680,11 @@ public final class DefaultTrackSelectorTest { */ @Test public void selectTracksPreferHigherNumChannelBeforeSampleRate() throws Exception { + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); Format higherChannelLowerSampleRateFormat = - Format.createAudioSampleFormat( - "audioFormat", - MimeTypes.AUDIO_AAC, - null, - Format.NO_VALUE, - Format.NO_VALUE, - 6, - 22050, - null, - null, - 0, - null); + formatBuilder.setChannelCount(6).setSampleRate(22050).build(); Format lowerChannelHigherSampleRateFormat = - Format.createAudioSampleFormat("audioFormat", MimeTypes.AUDIO_AAC, null, Format.NO_VALUE, - Format.NO_VALUE, 2, 44100, null, null, 0, null); + formatBuilder.setChannelCount(2).setSampleRate(44100).build(); TrackGroupArray trackGroups = wrapFormats(higherChannelLowerSampleRateFormat, lowerChannelHigherSampleRateFormat); @@ -842,12 +703,11 @@ public final class DefaultTrackSelectorTest { */ @Test public void selectTracksPreferHigherSampleRateBeforeBitrate() throws Exception { + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); Format higherSampleRateLowerBitrateFormat = - Format.createAudioSampleFormat("audioFormat", MimeTypes.AUDIO_AAC, null, 15000, - Format.NO_VALUE, 2, 44100, null, null, 0, null); + formatBuilder.setAverageBitrate(15000).setSampleRate(44100).build(); Format lowerSampleRateHigherBitrateFormat = - Format.createAudioSampleFormat("audioFormat", MimeTypes.AUDIO_AAC, null, 30000, - Format.NO_VALUE, 2, 22050, null, null, 0, null); + formatBuilder.setAverageBitrate(30000).setSampleRate(22050).build(); TrackGroupArray trackGroups = wrapFormats(higherSampleRateLowerBitrateFormat, lowerSampleRateHigherBitrateFormat); @@ -866,22 +726,9 @@ public final class DefaultTrackSelectorTest { */ @Test public void selectTracksExceedingCapabilitiesSelectLowerNumChannel() throws Exception { - Format higherChannelFormat = - Format.createAudioSampleFormat( - "audioFormat", - MimeTypes.AUDIO_AAC, - null, - Format.NO_VALUE, - Format.NO_VALUE, - 6, - 44100, - null, - null, - 0, - null); - Format lowerChannelFormat = - Format.createAudioSampleFormat("audioFormat", MimeTypes.AUDIO_AAC, null, Format.NO_VALUE, - Format.NO_VALUE, 2, 44100, null, null, 0, null); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + Format higherChannelFormat = formatBuilder.setChannelCount(6).build(); + Format lowerChannelFormat = formatBuilder.setChannelCount(2).build(); TrackGroupArray trackGroups = wrapFormats(higherChannelFormat, lowerChannelFormat); TrackSelectorResult result = @@ -899,12 +746,9 @@ public final class DefaultTrackSelectorTest { */ @Test public void selectTracksExceedingCapabilitiesSelectLowerSampleRate() throws Exception { - Format lowerSampleRateFormat = - Format.createAudioSampleFormat("audioFormat", MimeTypes.AUDIO_AAC, null, Format.NO_VALUE, - Format.NO_VALUE, 2, 22050, null, null, 0, null); - Format higherSampleRateFormat = - Format.createAudioSampleFormat("audioFormat", MimeTypes.AUDIO_AAC, null, Format.NO_VALUE, - Format.NO_VALUE, 2, 44100, null, null, 0, null); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + Format lowerSampleRateFormat = formatBuilder.setSampleRate(22050).build(); + Format higherSampleRateFormat = formatBuilder.setSampleRate(44100).build(); TrackGroupArray trackGroups = wrapFormats(higherSampleRateFormat, lowerSampleRateFormat); TrackSelectorResult result = @@ -922,12 +766,9 @@ public final class DefaultTrackSelectorTest { */ @Test public void selectTracksExceedingCapabilitiesSelectLowerBitrate() throws Exception { - Format lowerBitrateFormat = - Format.createAudioSampleFormat("audioFormat", MimeTypes.AUDIO_AAC, null, 15000, - Format.NO_VALUE, 2, 44100, null, null, 0, null); - Format higherBitrateFormat = - Format.createAudioSampleFormat("audioFormat", MimeTypes.AUDIO_AAC, null, 30000, - Format.NO_VALUE, 2, 44100, null, null, 0, null); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + Format lowerBitrateFormat = formatBuilder.setAverageBitrate(15000).build(); + Format higherBitrateFormat = formatBuilder.setAverageBitrate(30000).build(); TrackGroupArray trackGroups = wrapFormats(lowerBitrateFormat, higherBitrateFormat); TrackSelectorResult result = @@ -947,12 +788,11 @@ public final class DefaultTrackSelectorTest { @Test public void selectTracksExceedingCapabilitiesPreferLowerNumChannelBeforeSampleRate() throws Exception { + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); Format lowerChannelHigherSampleRateFormat = - Format.createAudioSampleFormat("audioFormat", MimeTypes.AUDIO_AAC, null, Format.NO_VALUE, - Format.NO_VALUE, 2, 44100, null, null, 0, null); + formatBuilder.setChannelCount(2).setSampleRate(44100).build(); Format higherChannelLowerSampleRateFormat = - Format.createAudioSampleFormat("audioFormat", MimeTypes.AUDIO_AAC, null, Format.NO_VALUE, - Format.NO_VALUE, 6, 22050, null, null, 0, null); + formatBuilder.setChannelCount(6).setSampleRate(22050).build(); TrackGroupArray trackGroups = wrapFormats(higherChannelLowerSampleRateFormat, lowerChannelHigherSampleRateFormat); @@ -972,12 +812,11 @@ public final class DefaultTrackSelectorTest { @Test public void selectTracksExceedingCapabilitiesPreferLowerSampleRateBeforeBitrate() throws Exception { + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); Format higherSampleRateLowerBitrateFormat = - Format.createAudioSampleFormat("audioFormat", MimeTypes.AUDIO_AAC, null, 15000, - Format.NO_VALUE, 2, 44100, null, null, 0, null); + formatBuilder.setAverageBitrate(15000).setSampleRate(44100).build(); Format lowerSampleRateHigherBitrateFormat = - Format.createAudioSampleFormat("audioFormat", MimeTypes.AUDIO_AAC, null, 30000, - Format.NO_VALUE, 2, 22050, null, null, 0, null); + formatBuilder.setAverageBitrate(30000).setSampleRate(22050).build(); TrackGroupArray trackGroups = wrapFormats(higherSampleRateLowerBitrateFormat, lowerSampleRateHigherBitrateFormat); @@ -993,11 +832,12 @@ public final class DefaultTrackSelectorTest { /** Tests text track selection flags. */ @Test public void textTrackSelectionFlags() throws ExoPlaybackException { - Format forcedOnly = buildTextFormat("forcedOnly", "eng", C.SELECTION_FLAG_FORCED); + Format.Builder formatBuilder = TEXT_FORMAT.buildUpon().setLanguage("eng"); + Format forcedOnly = formatBuilder.setSelectionFlags(C.SELECTION_FLAG_FORCED).build(); Format forcedDefault = - buildTextFormat("forcedDefault", "eng", C.SELECTION_FLAG_FORCED | C.SELECTION_FLAG_DEFAULT); - Format defaultOnly = buildTextFormat("defaultOnly", "eng", C.SELECTION_FLAG_DEFAULT); - Format noFlag = buildTextFormat("noFlag", "eng"); + formatBuilder.setSelectionFlags(C.SELECTION_FLAG_FORCED | C.SELECTION_FLAG_DEFAULT).build(); + Format defaultOnly = formatBuilder.setSelectionFlags(C.SELECTION_FLAG_DEFAULT).build(); + Format noFlag = formatBuilder.setSelectionFlags(0).build(); RendererCapabilities[] textRendererCapabilities = new RendererCapabilities[] {ALL_TEXT_FORMAT_SUPPORTED_RENDERER_CAPABILITIES}; @@ -1058,25 +898,14 @@ public final class DefaultTrackSelectorTest { */ @Test public void selectingForcedTextTrackMatchesAudioLanguage() throws ExoPlaybackException { - Format forcedEnglish = - buildTextFormat(/* id= */ "forcedEnglish", /* language= */ "eng", C.SELECTION_FLAG_FORCED); - Format forcedGerman = - buildTextFormat(/* id= */ "forcedGerman", /* language= */ "deu", C.SELECTION_FLAG_FORCED); - Format forcedNoLanguage = - buildTextFormat( - /* id= */ "forcedNoLanguage", - /* language= */ C.LANGUAGE_UNDETERMINED, - C.SELECTION_FLAG_FORCED); - Format audio = buildAudioFormat(/* id= */ "audio"); - Format germanAudio = - buildAudioFormat( - /* id= */ "germanAudio", - MimeTypes.AUDIO_AAC, - /* bitrate= */ Format.NO_VALUE, - "deu", - /* selectionFlags= */ 0, - /* channelCount= */ Format.NO_VALUE, - /* sampleRate= */ Format.NO_VALUE); + Format.Builder formatBuilder = + TEXT_FORMAT.buildUpon().setSelectionFlags(C.SELECTION_FLAG_FORCED); + Format forcedEnglish = formatBuilder.setLanguage("eng").build(); + Format forcedGerman = formatBuilder.setLanguage("deu").build(); + Format forcedNoLanguage = formatBuilder.setLanguage(C.LANGUAGE_UNDETERMINED).build(); + + Format noLanguageAudio = AUDIO_FORMAT.buildUpon().setLanguage(null).build(); + Format germanAudio = AUDIO_FORMAT.buildUpon().setLanguage("deu").build(); RendererCapabilities[] rendererCapabilities = new RendererCapabilities[] { @@ -1086,14 +915,14 @@ public final class DefaultTrackSelectorTest { // Neither the audio nor the forced text track define a language. We select them both under the // assumption that they have matching language. - TrackGroupArray trackGroups = wrapFormats(audio, forcedNoLanguage); + TrackGroupArray trackGroups = wrapFormats(noLanguageAudio, forcedNoLanguage); TrackSelectorResult result = trackSelector.selectTracks(rendererCapabilities, trackGroups, periodId, TIMELINE); assertFixedSelection(result.selections.get(1), trackGroups, forcedNoLanguage); // No forced text track should be selected because none of the forced text tracks' languages // matches the selected audio language. - trackGroups = wrapFormats(audio, forcedEnglish, forcedGerman); + trackGroups = wrapFormats(noLanguageAudio, forcedEnglish, forcedGerman); result = trackSelector.selectTracks(rendererCapabilities, trackGroups, periodId, TIMELINE); assertNoSelection(result.selections.get(1)); @@ -1115,10 +944,11 @@ public final class DefaultTrackSelectorTest { */ @Test public void selectUndeterminedTextLanguageAsFallback() throws ExoPlaybackException { - Format spanish = buildTextFormat("spanish", "spa"); - Format german = buildTextFormat("german", "de"); - Format undeterminedUnd = buildTextFormat("undeterminedUnd", "und"); - Format undeterminedNull = buildTextFormat("undeterminedNull", null); + Format.Builder formatBuilder = TEXT_FORMAT.buildUpon(); + Format spanish = formatBuilder.setLanguage("spa").build(); + Format german = formatBuilder.setLanguage("de").build(); + Format undeterminedUnd = formatBuilder.setLanguage(C.LANGUAGE_UNDETERMINED).build(); + Format undeterminedNull = formatBuilder.setLanguage(null).build(); RendererCapabilities[] textRendererCapabilites = new RendererCapabilities[] {ALL_TEXT_FORMAT_SUPPORTED_RENDERER_CAPABILITIES}; @@ -1159,8 +989,9 @@ public final class DefaultTrackSelectorTest { /** Tests audio track selection when there are multiple audio renderers. */ @Test public void selectPreferredTextTrackMultipleRenderers() throws Exception { - Format english = buildTextFormat("en", "en"); - Format german = buildTextFormat("de", "de"); + Format.Builder formatBuilder = TEXT_FORMAT.buildUpon(); + Format english = formatBuilder.setId("en").setLanguage("en").build(); + Format german = formatBuilder.setId("de").setLanguage("de").build(); // First renderer handles english. Map firstRendererMappedCapabilities = new HashMap<>(); @@ -1206,9 +1037,11 @@ public final class DefaultTrackSelectorTest { @Test public void selectTracksWithinCapabilitiesAndForceLowestBitrateSelectLowerBitrate() throws Exception { - Format unsupportedLowBitrateFormat = buildAudioFormatWithBitrate("unsupportedLowBitrate", 5000); - Format lowerBitrateFormat = buildAudioFormatWithBitrate("lowBitrate", 15000); - Format higherBitrateFormat = buildAudioFormatWithBitrate("highBitrate", 30000); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + Format unsupportedLowBitrateFormat = + formatBuilder.setId("unsupported").setAverageBitrate(5000).build(); + Format lowerBitrateFormat = formatBuilder.setId("lower").setAverageBitrate(15000).build(); + Format higherBitrateFormat = formatBuilder.setId("higher").setAverageBitrate(30000).build(); TrackGroupArray trackGroups = wrapFormats(unsupportedLowBitrateFormat, lowerBitrateFormat, higherBitrateFormat); @@ -1236,9 +1069,10 @@ public final class DefaultTrackSelectorTest { @Test public void selectTracksWithinCapabilitiesAndForceHighestBitrateSelectHigherBitrate() throws Exception { - Format lowerBitrateFormat = buildAudioFormatWithBitrate("lowerBitrateFormat", 5000); - Format higherBitrateFormat = buildAudioFormatWithBitrate("higherBitrateFormat", 15000); - Format exceedsBitrateFormat = buildAudioFormatWithBitrate("exceedsBitrateFormat", 30000); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + Format lowerBitrateFormat = formatBuilder.setId("5000").setAverageBitrate(5000).build(); + Format higherBitrateFormat = formatBuilder.setId("15000").setAverageBitrate(15000).build(); + Format exceedsBitrateFormat = formatBuilder.setId("30000").setAverageBitrate(30000).build(); TrackGroupArray trackGroups = wrapFormats(lowerBitrateFormat, higherBitrateFormat, exceedsBitrateFormat); @@ -1262,7 +1096,9 @@ public final class DefaultTrackSelectorTest { @Test public void selectTracksWithMultipleAudioTracks() throws Exception { - TrackGroupArray trackGroups = singleTrackGroup(buildAudioFormat("0"), buildAudioFormat("1")); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + TrackGroupArray trackGroups = + singleTrackGroup(formatBuilder.setId("0").build(), formatBuilder.setId("1").build()); TrackSelectorResult result = trackSelector.selectTracks( new RendererCapabilities[] {AUDIO_CAPABILITIES}, trackGroups, periodId, TIMELINE); @@ -1304,10 +1140,9 @@ public final class DefaultTrackSelectorTest { @Test public void selectTracksWithMultipleAudioTracksWithMixedSampleRates() throws Exception { - Format highSampleRateAudioFormat = - buildAudioFormatWithSampleRate("44100", /* sampleRate= */ 44100); - Format lowSampleRateAudioFormat = - buildAudioFormatWithSampleRate("22050", /* sampleRate= */ 22050); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + Format highSampleRateAudioFormat = formatBuilder.setSampleRate(44100).build(); + Format lowSampleRateAudioFormat = formatBuilder.setSampleRate(22050).build(); // Should not adapt between mixed sample rates by default, so we expect a fixed selection // containing the higher sample rate stream. @@ -1339,8 +1174,9 @@ public final class DefaultTrackSelectorTest { @Test public void selectTracksWithMultipleAudioTracksWithMixedMimeTypes() throws Exception { - Format aacAudioFormat = buildAudioFormatWithMimeType("aac", MimeTypes.AUDIO_AAC); - Format opusAudioFormat = buildAudioFormatWithMimeType("opus", MimeTypes.AUDIO_OPUS); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + Format aacAudioFormat = formatBuilder.setSampleMimeType(MimeTypes.AUDIO_AAC).build(); + Format opusAudioFormat = formatBuilder.setSampleMimeType(MimeTypes.AUDIO_OPUS).build(); // Should not adapt between mixed mime types by default, so we expect a fixed selection // containing the first stream. @@ -1371,10 +1207,9 @@ public final class DefaultTrackSelectorTest { @Test public void selectTracksWithMultipleAudioTracksWithMixedChannelCounts() throws Exception { - Format stereoAudioFormat = - buildAudioFormatWithChannelCount("2-channels", /* channelCount= */ 2); - Format surroundAudioFormat = - buildAudioFormatWithChannelCount("5-channels", /* channelCount= */ 5); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + Format stereoAudioFormat = formatBuilder.setChannelCount(2).build(); + Format surroundAudioFormat = formatBuilder.setChannelCount(5).build(); // Should not adapt between different channel counts, so we expect a fixed selection containing // the track with more channels. @@ -1436,8 +1271,12 @@ public final class DefaultTrackSelectorTest { @Test public void selectTracksWithMultipleAudioTracksOverrideReturnsAdaptiveTrackSelection() throws Exception { + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); TrackGroupArray trackGroups = - singleTrackGroup(buildAudioFormat("0"), buildAudioFormat("1"), buildAudioFormat("2")); + singleTrackGroup( + formatBuilder.setId("0").build(), + formatBuilder.setId("1").build(), + formatBuilder.setId("2").build()); trackSelector.setParameters( trackSelector .buildUponParameters() @@ -1456,8 +1295,9 @@ public final class DefaultTrackSelectorTest { /** Tests audio track selection when there are multiple audio renderers. */ @Test public void selectPreferredAudioTrackMultipleRenderers() throws Exception { - Format english = buildAudioFormatWithLanguage("en", "en"); - Format german = buildAudioFormatWithLanguage("de", "de"); + Format.Builder formatBuilder = AUDIO_FORMAT.buildUpon(); + Format english = formatBuilder.setId("en").setLanguage("en").build(); + Format german = formatBuilder.setId("de").setLanguage("de").build(); // First renderer handles english. Map firstRendererMappedCapabilities = new HashMap<>(); @@ -1498,7 +1338,9 @@ public final class DefaultTrackSelectorTest { @Test public void selectTracksWithMultipleVideoTracks() throws Exception { - TrackGroupArray trackGroups = singleTrackGroup(buildVideoFormat("0"), buildVideoFormat("1")); + Format.Builder formatBuilder = VIDEO_FORMAT.buildUpon(); + TrackGroupArray trackGroups = + singleTrackGroup(formatBuilder.setId("0").build(), formatBuilder.setId("1").build()); TrackSelectorResult result = trackSelector.selectTracks( new RendererCapabilities[] {VIDEO_CAPABILITIES}, trackGroups, periodId, TIMELINE); @@ -1513,7 +1355,9 @@ public final class DefaultTrackSelectorTest { new FakeRendererCapabilities(C.TRACK_TYPE_VIDEO, FORMAT_HANDLED | ADAPTIVE_NOT_SEAMLESS); // Should do non-seamless adaptiveness by default, so expect an adaptive selection. - TrackGroupArray trackGroups = singleTrackGroup(buildVideoFormat("0"), buildVideoFormat("1")); + Format.Builder formatBuilder = VIDEO_FORMAT.buildUpon(); + TrackGroupArray trackGroups = + singleTrackGroup(formatBuilder.setId("0").build(), formatBuilder.setId("1").build()); trackSelector.setParameters( defaultParameters.buildUpon().setAllowVideoNonSeamlessAdaptiveness(true)); TrackSelectorResult result = @@ -1540,8 +1384,9 @@ public final class DefaultTrackSelectorTest { @Test public void selectTracksWithMultipleVideoTracksWithMixedMimeTypes() throws Exception { - Format h264VideoFormat = buildVideoFormatWithMimeType("h264", MimeTypes.VIDEO_H264); - Format h265VideoFormat = buildVideoFormatWithMimeType("h265", MimeTypes.VIDEO_H265); + Format.Builder formatBuilder = VIDEO_FORMAT.buildUpon(); + Format h264VideoFormat = formatBuilder.setSampleMimeType(MimeTypes.VIDEO_H264).build(); + Format h265VideoFormat = formatBuilder.setSampleMimeType(MimeTypes.VIDEO_H265).build(); // Should not adapt between mixed mime types by default, so we expect a fixed selection // containing the first stream. @@ -1573,8 +1418,12 @@ public final class DefaultTrackSelectorTest { @Test public void selectTracksWithMultipleVideoTracksOverrideReturnsAdaptiveTrackSelection() throws Exception { + Format.Builder formatBuilder = VIDEO_FORMAT.buildUpon(); TrackGroupArray trackGroups = - singleTrackGroup(buildVideoFormat("0"), buildVideoFormat("1"), buildVideoFormat("2")); + singleTrackGroup( + formatBuilder.setId("0").build(), + formatBuilder.setId("1").build(), + formatBuilder.setId("2").build()); trackSelector.setParameters( trackSelector .buildUponParameters() @@ -1650,144 +1499,14 @@ public final class DefaultTrackSelectorTest { return new TrackGroupArray(trackGroups); } - private static Format buildVideoFormatWithMimeType(String id, String mimeType) { - return Format.createVideoSampleFormat( - id, - mimeType, - null, - Format.NO_VALUE, - Format.NO_VALUE, - 1024, - 768, - Format.NO_VALUE, - null, - null); - } - - private static Format buildVideoFormat(String id) { - return buildVideoFormatWithMimeType(id, MimeTypes.VIDEO_H264); - } - - private static Format buildAudioFormatWithLanguage(String id, String language) { - return buildAudioFormatWithLanguageAndFlags(id, language, /* selectionFlags= */ 0); - } - - private static Format buildAudioFormatWithLanguageAndFlags( - String id, String language, int selectionFlags) { - return buildAudioFormat( - id, - MimeTypes.AUDIO_AAC, - /* bitrate= */ Format.NO_VALUE, - language, - selectionFlags, - /* channelCount= */ 2, - /* sampleRate= */ 44100); - } - - private static Format buildAudioFormatWithBitrate(String id, int bitrate) { - return buildAudioFormat( - id, - MimeTypes.AUDIO_AAC, - bitrate, - /* language= */ null, - /* selectionFlags= */ 0, - /* channelCount= */ 2, - /* sampleRate= */ 44100); - } - - private static Format buildAudioFormatWithSampleRate(String id, int sampleRate) { - return buildAudioFormat( - id, - MimeTypes.AUDIO_AAC, - /* bitrate= */ Format.NO_VALUE, - /* language= */ null, - /* selectionFlags= */ 0, - /* channelCount= */ 2, - sampleRate); - } - - private static Format buildAudioFormatWithChannelCount(String id, int channelCount) { - return buildAudioFormat( - id, - MimeTypes.AUDIO_AAC, - /* bitrate= */ Format.NO_VALUE, - /* language= */ null, - /* selectionFlags= */ 0, - channelCount, - /* sampleRate= */ 44100); - } - - private static Format buildAudioFormatWithMimeType(String id, String mimeType) { - return buildAudioFormat( - id, - mimeType, - /* bitrate= */ Format.NO_VALUE, - /* language= */ null, - /* selectionFlags= */ 0, - /* channelCount= */ 2, - /* sampleRate= */ 44100); - } - private static Format buildAudioFormatWithConfiguration( String id, int channelCount, String mimeType, int sampleRate) { - return buildAudioFormat( - id, - mimeType, - /* bitrate= */ Format.NO_VALUE, - /* language= */ null, - /* selectionFlags= */ 0, - channelCount, - sampleRate); - } - - private static Format buildAudioFormat(String id) { - return buildAudioFormat( - id, - MimeTypes.AUDIO_AAC, - /* bitrate= */ Format.NO_VALUE, - /* language= */ null, - /* selectionFlags= */ 0, - /* channelCount= */ 2, - /* sampleRate= */ 44100); - } - - private static Format buildAudioFormat( - String id, - String mimeType, - int bitrate, - String language, - int selectionFlags, - int channelCount, - int sampleRate) { - return Format.createAudioSampleFormat( - id, - mimeType, - /* codecs= */ null, - bitrate, - /* maxInputSize= */ Format.NO_VALUE, - channelCount, - sampleRate, - /* initializationData= */ null, - /* drmInitData= */ null, - selectionFlags, - language); - } - - private static Format buildTextFormat(String id, String language) { - return buildTextFormat(id, language, /* selectionFlags= */ 0); - } - - private static Format buildTextFormat(String id, String language, int selectionFlags) { - return Format.createTextContainerFormat( - id, - /* label= */ null, - /* containerMimeType= */ null, - /* sampleMimeType= */ MimeTypes.TEXT_VTT, - /* codecs= */ null, - /* bitrate= */ Format.NO_VALUE, - selectionFlags, - /* roleFlags= */ 0, - language); + return new Format.Builder() + .setId(id) + .setSampleMimeType(mimeType) + .setChannelCount(channelCount) + .setSampleRate(sampleRate) + .build(); } /** diff --git a/library/core/src/test/java/com/google/android/exoplayer2/trackselection/MappingTrackSelectorTest.java b/library/core/src/test/java/com/google/android/exoplayer2/trackselection/MappingTrackSelectorTest.java index 9e33c00030..c0a37c25e0 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/trackselection/MappingTrackSelectorTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/trackselection/MappingTrackSelectorTest.java @@ -47,35 +47,9 @@ public final class MappingTrackSelectorTest { private static final RendererCapabilities METADATA_CAPABILITIES = new FakeRendererCapabilities(C.TRACK_TYPE_METADATA); - private static final TrackGroup VIDEO_TRACK_GROUP = - new TrackGroup( - Format.createVideoSampleFormat( - "video", - MimeTypes.VIDEO_H264, - /* codecs= */ null, - /* bitrate= */ Format.NO_VALUE, - /* maxInputSize= */ Format.NO_VALUE, - /* width= */ 1024, - /* height= */ 768, - /* frameRate= */ Format.NO_VALUE, - /* initializationData= */ null, - /* drmInitData= */ null)); - private static final TrackGroup AUDIO_TRACK_GROUP = - new TrackGroup( - Format.createAudioSampleFormat( - "audio", - MimeTypes.AUDIO_AAC, - /* codecs= */ null, - /* bitrate= */ Format.NO_VALUE, - /* maxInputSize= */ Format.NO_VALUE, - /* channelCount= */ 2, - /* sampleRate= */ 44100, - /* initializationData= */ null, - /* drmInitData= */ null, - /* selectionFlags= */ 0, - /* language= */ null)); - private static final TrackGroup METADATA_TRACK_GROUP = - new TrackGroup(Format.createSampleFormat("metadata", MimeTypes.APPLICATION_ID3)); + private static final TrackGroup VIDEO_TRACK_GROUP = buildTrackGroup(MimeTypes.VIDEO_H264); + private static final TrackGroup AUDIO_TRACK_GROUP = buildTrackGroup(MimeTypes.AUDIO_AAC); + private static final TrackGroup METADATA_TRACK_GROUP = buildTrackGroup(MimeTypes.APPLICATION_ID3); private static final Timeline TIMELINE = new FakeTimeline(/* windowCount= */ 1); @@ -150,6 +124,10 @@ public final class MappingTrackSelectorTest { trackSelector.assertMappedTrackGroups(2, METADATA_TRACK_GROUP); } + private static TrackGroup buildTrackGroup(String sampleMimeType) { + return new TrackGroup(new Format.Builder().setSampleMimeType(sampleMimeType).build()); + } + /** * A {@link MappingTrackSelector} that stashes the {@link MappedTrackInfo} passed to {@link * #selectTracks(MappedTrackInfo, int[][][], int[])}. @@ -209,7 +187,5 @@ public final class MappingTrackSelectorTest { public int supportsMixedMimeTypeAdaptation() throws ExoPlaybackException { return ADAPTIVE_SEAMLESS; } - } - }