1616
1717package androidx .media3 .transformer ;
1818
19+ import static androidx .media3 .common .C .TRACK_TYPE_AUDIO ;
20+ import static androidx .media3 .common .C .TRACK_TYPE_VIDEO ;
1921import static androidx .media3 .test .utils .robolectric .ShadowMediaCodecConfig .CODEC_INFO_RAW ;
2022import static androidx .media3 .transformer .TestUtil .ASSET_URI_PREFIX ;
2123import static androidx .media3 .transformer .TestUtil .FILE_AUDIO_RAW ;
2729import static java .util .stream .Collectors .toList ;
2830
2931import android .content .Context ;
32+ import androidx .media3 .common .C .TrackType ;
3033import androidx .media3 .common .MediaItem ;
3134import androidx .media3 .common .util .Util ;
3235import androidx .media3 .test .utils .DumpFileAsserts ;
@@ -60,17 +63,20 @@ public final class ParameterizedAudioExportTest {
6063 @ Parameters (name = "{0}" )
6164 public static List <SequenceConfig > params () {
6265 return new ImmutableList .Builder <SequenceConfig >()
63- .addAll (getAllPermutationsOfAllCombinations (AUDIO_ITEMS ))
64- .addAll (getAllPermutationsOfAllCombinations (AUDIO_VIDEO_ITEMS ))
66+ .addAll (getAllPermutationsOfAllCombinations (AUDIO_ITEMS , ImmutableSet .of (TRACK_TYPE_AUDIO )))
67+ .addAll (
68+ getAllPermutationsOfAllCombinations (
69+ AUDIO_VIDEO_ITEMS , ImmutableSet .of (TRACK_TYPE_AUDIO , TRACK_TYPE_VIDEO )))
6570 .build ();
6671 }
6772
68- private static List <SequenceConfig > getAllPermutationsOfAllCombinations (Set <ItemConfig > items ) {
73+ private static List <SequenceConfig > getAllPermutationsOfAllCombinations (
74+ Set <ItemConfig > items , Set <@ TrackType Integer > trackTypes ) {
6975 return Sets .powerSet (items ).stream ()
7076 .filter (s -> !s .isEmpty ())
7177 .flatMap (s -> Collections2 .permutations (s ).stream ())
7278 .filter (permutation -> permutation .size () < 4 )
73- .map (SequenceConfig :: new )
79+ .map (permutation -> new SequenceConfig ( trackTypes , permutation ) )
7480 .collect (toList ());
7581 }
7682
@@ -151,9 +157,11 @@ public void export() throws Exception {
151157 }
152158
153159 private static class SequenceConfig {
160+ private final ImmutableSet <@ TrackType Integer > trackTypes ;
154161 private final List <ItemConfig > itemConfigs ;
155162
156- public SequenceConfig (List <ItemConfig > itemConfigs ) {
163+ private SequenceConfig (Set <@ TrackType Integer > trackTypes , List <ItemConfig > itemConfigs ) {
164+ this .trackTypes = ImmutableSet .copyOf (trackTypes );
157165 this .itemConfigs = itemConfigs ;
158166 }
159167
@@ -164,9 +172,7 @@ public Composition asComposition() {
164172 }
165173
166174 return new Composition .Builder (
167- new EditedMediaItemSequence .Builder (items .build ())
168- .experimentalSetForceAudioTrack (true )
169- .build ())
175+ new EditedMediaItemSequence .Builder (trackTypes ).addItems (items .build ()).build ())
170176 .setTransmuxVideo (true )
171177 .build ();
172178 }
0 commit comments