Only log list of removed encoders if not empty.

Logcat had the following lines, with no other information.
```
DefaultEncoderFactory: Encoders removed for resolution:
DefaultEncoderFactory: Encoders removed for bitrate:
DefaultEncoderFactory: Encoders removed for bitrate mode:
```
PiperOrigin-RevId: 511470231
This commit is contained in:
samrobinson 2023-02-22 13:35:27 +00:00 committed by Andrew Lewis
parent 12a6183312
commit 9a8026f27e

View File

@ -628,15 +628,9 @@ public final class DefaultEncoderFactory implements Codec.EncoderFactory {
}
}
List<MediaCodecInfo> removedEncoders = new ArrayList<>(encoders);
removedEncoders.removeAll(filteredEncoders);
StringBuilder stringBuilder =
new StringBuilder("Encoders removed for ").append(filterName).append(":\n");
for (int i = 0; i < removedEncoders.size(); i++) {
MediaCodecInfo encoderInfo = removedEncoders.get(i);
stringBuilder.append(Util.formatInvariant(" %s\n", encoderInfo.getName()));
if (filteredEncoders.size() != encoders.size()) {
logRemovedEncoders(encoders, filteredEncoders, filterName);
}
Log.d(TAG, stringBuilder.toString());
return ImmutableList.copyOf(filteredEncoders);
}
@ -670,4 +664,17 @@ public final class DefaultEncoderFactory implements Codec.EncoderFactory {
/* isDecoder= */ false,
format);
}
private static void logRemovedEncoders(
List<MediaCodecInfo> encoders, List<MediaCodecInfo> filteredEncoders, String filterName) {
List<MediaCodecInfo> removedEncoders = new ArrayList<>(encoders);
removedEncoders.removeAll(filteredEncoders);
StringBuilder stringBuilder =
new StringBuilder("Encoders removed for ").append(filterName).append(":\n");
for (int i = 0; i < removedEncoders.size(); i++) {
MediaCodecInfo encoderInfo = removedEncoders.get(i);
stringBuilder.append(Util.formatInvariant(" %s\n", encoderInfo.getName()));
}
Log.d(TAG, stringBuilder.toString());
}
}