Skip to content

Commit

Permalink
Improve test dump output for role and selection flags
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 589878576
  • Loading branch information
icbaker authored and copybara-github committed Dec 11, 2023
1 parent 7f9b020 commit d356d88
Show file tree
Hide file tree
Showing 102 changed files with 344 additions and 299 deletions.
62 changes: 2 additions & 60 deletions libraries/common/src/main/java/androidx/media3/common/Format.java
Original file line number Diff line number Diff line change
Expand Up @@ -1278,71 +1278,13 @@ public static String toLogString(@Nullable Format format) {
builder.append(", label=").append(format.label);
}
if (format.selectionFlags != 0) {
List<String> selectionFlags = new ArrayList<>();
// LINT.IfChange(selection_flags)
if ((format.selectionFlags & C.SELECTION_FLAG_AUTOSELECT) != 0) {
selectionFlags.add("auto");
}
if ((format.selectionFlags & C.SELECTION_FLAG_DEFAULT) != 0) {
selectionFlags.add("default");
}
if ((format.selectionFlags & C.SELECTION_FLAG_FORCED) != 0) {
selectionFlags.add("forced");
}
builder.append(", selectionFlags=[");
Joiner.on(',').appendTo(builder, selectionFlags);
Joiner.on(',').appendTo(builder, Util.getSelectionFlagStrings(format.selectionFlags));
builder.append("]");
}
if (format.roleFlags != 0) {
// LINT.IfChange(role_flags)
List<String> roleFlags = new ArrayList<>();
if ((format.roleFlags & C.ROLE_FLAG_MAIN) != 0) {
roleFlags.add("main");
}
if ((format.roleFlags & C.ROLE_FLAG_ALTERNATE) != 0) {
roleFlags.add("alt");
}
if ((format.roleFlags & C.ROLE_FLAG_SUPPLEMENTARY) != 0) {
roleFlags.add("supplementary");
}
if ((format.roleFlags & C.ROLE_FLAG_COMMENTARY) != 0) {
roleFlags.add("commentary");
}
if ((format.roleFlags & C.ROLE_FLAG_DUB) != 0) {
roleFlags.add("dub");
}
if ((format.roleFlags & C.ROLE_FLAG_EMERGENCY) != 0) {
roleFlags.add("emergency");
}
if ((format.roleFlags & C.ROLE_FLAG_CAPTION) != 0) {
roleFlags.add("caption");
}
if ((format.roleFlags & C.ROLE_FLAG_SUBTITLE) != 0) {
roleFlags.add("subtitle");
}
if ((format.roleFlags & C.ROLE_FLAG_SIGN) != 0) {
roleFlags.add("sign");
}
if ((format.roleFlags & C.ROLE_FLAG_DESCRIBES_VIDEO) != 0) {
roleFlags.add("describes-video");
}
if ((format.roleFlags & C.ROLE_FLAG_DESCRIBES_MUSIC_AND_SOUND) != 0) {
roleFlags.add("describes-music");
}
if ((format.roleFlags & C.ROLE_FLAG_ENHANCED_DIALOG_INTELLIGIBILITY) != 0) {
roleFlags.add("enhanced-intelligibility");
}
if ((format.roleFlags & C.ROLE_FLAG_TRANSCRIBES_DIALOG) != 0) {
roleFlags.add("transcribes-dialog");
}
if ((format.roleFlags & C.ROLE_FLAG_EASY_TO_READ) != 0) {
roleFlags.add("easy-read");
}
if ((format.roleFlags & C.ROLE_FLAG_TRICK_PLAY) != 0) {
roleFlags.add("trick-play");
}
builder.append(", roleFlags=[");
Joiner.on(',').appendTo(builder, roleFlags);
Joiner.on(',').appendTo(builder, Util.getRoleFlagStrings(format.roleFlags));
builder.append("]");
}
return builder.toString();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collections;
Expand Down Expand Up @@ -3157,6 +3158,82 @@ public static String getTrackTypeString(@C.TrackType int trackType) {
}
}

/**
* Returns a list of strings representing the {@link C.SelectionFlags} values present in {@code
* selectionFlags}.
*/
@UnstableApi
public static List<String> getSelectionFlagStrings(@C.SelectionFlags int selectionFlags) {
List<String> result = new ArrayList<>();
// LINT.IfChange(selection_flags)
if ((selectionFlags & C.SELECTION_FLAG_AUTOSELECT) != 0) {
result.add("auto");
}
if ((selectionFlags & C.SELECTION_FLAG_DEFAULT) != 0) {
result.add("default");
}
if ((selectionFlags & C.SELECTION_FLAG_FORCED) != 0) {
result.add("forced");
}
return result;
}

/**
* Returns a list of strings representing the {@link C.RoleFlags} values present in {@code
* roleFlags}.
*/
@UnstableApi
public static List<String> getRoleFlagStrings(@C.RoleFlags int roleFlags) {
List<String> result = new ArrayList<>();
// LINT.IfChange(role_flags)
if ((roleFlags & C.ROLE_FLAG_MAIN) != 0) {
result.add("main");
}
if ((roleFlags & C.ROLE_FLAG_ALTERNATE) != 0) {
result.add("alt");
}
if ((roleFlags & C.ROLE_FLAG_SUPPLEMENTARY) != 0) {
result.add("supplementary");
}
if ((roleFlags & C.ROLE_FLAG_COMMENTARY) != 0) {
result.add("commentary");
}
if ((roleFlags & C.ROLE_FLAG_DUB) != 0) {
result.add("dub");
}
if ((roleFlags & C.ROLE_FLAG_EMERGENCY) != 0) {
result.add("emergency");
}
if ((roleFlags & C.ROLE_FLAG_CAPTION) != 0) {
result.add("caption");
}
if ((roleFlags & C.ROLE_FLAG_SUBTITLE) != 0) {
result.add("subtitle");
}
if ((roleFlags & C.ROLE_FLAG_SIGN) != 0) {
result.add("sign");
}
if ((roleFlags & C.ROLE_FLAG_DESCRIBES_VIDEO) != 0) {
result.add("describes-video");
}
if ((roleFlags & C.ROLE_FLAG_DESCRIBES_MUSIC_AND_SOUND) != 0) {
result.add("describes-music");
}
if ((roleFlags & C.ROLE_FLAG_ENHANCED_DIALOG_INTELLIGIBILITY) != 0) {
result.add("enhanced-intelligibility");
}
if ((roleFlags & C.ROLE_FLAG_TRANSCRIBES_DIALOG) != 0) {
result.add("transcribes-dialog");
}
if ((roleFlags & C.ROLE_FLAG_EASY_TO_READ) != 0) {
result.add("easy-read");
}
if ((roleFlags & C.ROLE_FLAG_TRICK_PLAY) != 0) {
result.add("trick-play");
}
return result;
}

/**
* Returns the current time in milliseconds since the epoch.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Formatter;
import java.util.List;
import java.util.NoSuchElementException;
import java.util.Random;
import java.util.concurrent.ExecutionException;
Expand Down Expand Up @@ -1507,6 +1508,22 @@ public void transformFutureAsync_withSuccessfulTransform_returnsTransformedResul
assertThat(outputFuture.get()).isEqualTo(expectedOutput);
}

@Test
public void getSelectionFlagStrings() {
List<String> selectionFlags =
Util.getSelectionFlagStrings(C.SELECTION_FLAG_AUTOSELECT | C.SELECTION_FLAG_FORCED);

assertThat(selectionFlags).containsExactly("auto", "forced");
}

@Test
public void getRoleFlagStrings() {
List<String> roleFlags =
Util.getRoleFlagStrings(C.ROLE_FLAG_DESCRIBES_MUSIC_AND_SOUND | C.ROLE_FLAG_EASY_TO_READ);

assertThat(roleFlags).containsExactly("describes-music", "easy-read");
}

private static void assertEscapeUnescapeFileName(String fileName, String escapedFileName) {
assertThat(escapeFileName(fileName)).isEqualTo(escapedFileName);
assertThat(unescapeFileName(escapedFileName)).isEqualTo(fileName);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ track 0:
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
roleFlags = 1
roleFlags = [main]
metadata = entries=[Mp4Timestamp: creation time=3784612704, modification time=3784612704, timescale=10000]
initializationData:
data = length 82, hash C508E2F1
Expand Down Expand Up @@ -277,7 +277,7 @@ track 1:
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
roleFlags = 2
roleFlags = [alt]
metadata = entries=[Mp4Timestamp: creation time=3784612704, modification time=3784612704, timescale=10000]
initializationData:
data = length 82, hash 1924973
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ track 0:
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
roleFlags = 1
roleFlags = [main]
metadata = entries=[Mp4Timestamp: creation time=3784612704, modification time=3784612704, timescale=10000]
initializationData:
data = length 82, hash C508E2F1
Expand Down Expand Up @@ -221,7 +221,7 @@ track 1:
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
roleFlags = 2
roleFlags = [alt]
metadata = entries=[Mp4Timestamp: creation time=3784612704, modification time=3784612704, timescale=10000]
initializationData:
data = length 82, hash 1924973
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ track 0:
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
roleFlags = 1
roleFlags = [main]
metadata = entries=[Mp4Timestamp: creation time=3784612704, modification time=3784612704, timescale=10000]
initializationData:
data = length 82, hash C508E2F1
Expand Down Expand Up @@ -137,7 +137,7 @@ track 1:
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
roleFlags = 2
roleFlags = [alt]
metadata = entries=[Mp4Timestamp: creation time=3784612704, modification time=3784612704, timescale=10000]
initializationData:
data = length 82, hash 1924973
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ track 0:
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
roleFlags = 1
roleFlags = [main]
metadata = entries=[Mp4Timestamp: creation time=3784612704, modification time=3784612704, timescale=10000]
initializationData:
data = length 82, hash C508E2F1
Expand Down Expand Up @@ -53,7 +53,7 @@ track 1:
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
roleFlags = 2
roleFlags = [alt]
metadata = entries=[Mp4Timestamp: creation time=3784612704, modification time=3784612704, timescale=10000]
initializationData:
data = length 82, hash 1924973
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ track 0:
colorInfo:
lumaBitdepth = 8
chromaBitdepth = 8
roleFlags = 1
roleFlags = [main]
metadata = entries=[TSSE: description=null: values=[Lavf58.42.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData:
data = length 32, hash 1F3D6E87
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ track 0:
colorInfo:
lumaBitdepth = 8
chromaBitdepth = 8
roleFlags = 1
roleFlags = [main]
metadata = entries=[TSSE: description=null: values=[Lavf58.42.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData:
data = length 32, hash 1F3D6E87
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ track 0:
colorInfo:
lumaBitdepth = 8
chromaBitdepth = 8
roleFlags = 1
roleFlags = [main]
metadata = entries=[TSSE: description=null: values=[Lavf58.42.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData:
data = length 32, hash 1F3D6E87
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ track 0:
colorInfo:
lumaBitdepth = 8
chromaBitdepth = 8
roleFlags = 1
roleFlags = [main]
metadata = entries=[TSSE: description=null: values=[Lavf58.42.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData:
data = length 32, hash 1F3D6E87
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ track 1:
format 0:
id = 1
sampleMimeType = application/x-subrip
selectionFlags = 1
selectionFlags = [default]
language = und
sample 0:
time = 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ track 1:
format 0:
id = 1
sampleMimeType = application/x-subrip
selectionFlags = 1
selectionFlags = [default]
language = und
sample 0:
time = 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ track 1:
format 0:
id = 1
sampleMimeType = application/x-subrip
selectionFlags = 1
selectionFlags = [default]
language = und
sample 0:
time = 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ track 1:
format 0:
id = 1
sampleMimeType = application/x-subrip
selectionFlags = 1
selectionFlags = [default]
language = und
sample 0:
time = 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ track 1:
format 0:
id = 1
sampleMimeType = application/x-subrip
selectionFlags = 1
selectionFlags = [default]
language = und
sample 0:
time = 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ track 1:
codecs = avc1.640034
width = 1080
height = 720
selectionFlags = 1
selectionFlags = [default]
language = und
initializationData:
data = length 30, hash F6F3D010
Expand Down Expand Up @@ -148,7 +148,7 @@ track 2:
sampleMimeType = audio/ac3
channelCount = 1
sampleRate = 44100
selectionFlags = 1
selectionFlags = [default]
language = und
sample 0:
time = 129000
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ track 1:
codecs = avc1.640034
width = 1080
height = 720
selectionFlags = 1
selectionFlags = [default]
language = und
initializationData:
data = length 30, hash F6F3D010
Expand Down Expand Up @@ -108,7 +108,7 @@ track 2:
sampleMimeType = audio/ac3
channelCount = 1
sampleRate = 44100
selectionFlags = 1
selectionFlags = [default]
language = und
sample 0:
time = 408000
Expand Down
Loading

0 comments on commit d356d88

Please sign in to comment.