Improve shouldTranscode() logic
PiperOrigin-RevId: 511767953
This commit is contained in:
parent
c5c171beba
commit
50f5e34583
@ -485,12 +485,9 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|||||||
if (!assetLoaderCanOutputEncoded) {
|
if (!assetLoaderCanOutputEncoded) {
|
||||||
shouldTranscode = true;
|
shouldTranscode = true;
|
||||||
} else if (MimeTypes.isAudio(inputFormat.sampleMimeType)) {
|
} else if (MimeTypes.isAudio(inputFormat.sampleMimeType)) {
|
||||||
shouldTranscode =
|
shouldTranscode = shouldTranscodeAudio(inputFormat);
|
||||||
(mediaItemCount > 1 && !transmuxAudio) || shouldTranscodeAudio(inputFormat);
|
|
||||||
} else if (MimeTypes.isVideo(inputFormat.sampleMimeType)) {
|
} else if (MimeTypes.isVideo(inputFormat.sampleMimeType)) {
|
||||||
shouldTranscode =
|
shouldTranscode = shouldTranscodeVideo(inputFormat, streamStartPositionUs, streamOffsetUs);
|
||||||
(mediaItemCount > 1 && !transmuxVideo)
|
|
||||||
|| shouldTranscodeVideo(inputFormat, streamStartPositionUs, streamOffsetUs);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
checkState(!shouldTranscode || assetLoaderCanOutputDecoded);
|
checkState(!shouldTranscode || assetLoaderCanOutputDecoded);
|
||||||
@ -499,6 +496,9 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean shouldTranscodeAudio(Format inputFormat) {
|
private boolean shouldTranscodeAudio(Format inputFormat) {
|
||||||
|
if (mediaItemCount > 1 && !transmuxAudio) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
if (encoderFactory.audioNeedsEncoding()) {
|
if (encoderFactory.audioNeedsEncoding()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -535,6 +535,9 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|||||||
|
|
||||||
private boolean shouldTranscodeVideo(
|
private boolean shouldTranscodeVideo(
|
||||||
Format inputFormat, long streamStartPositionUs, long streamOffsetUs) {
|
Format inputFormat, long streamStartPositionUs, long streamOffsetUs) {
|
||||||
|
if (mediaItemCount > 1 && !transmuxVideo) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
if ((streamStartPositionUs - streamOffsetUs) != 0
|
if ((streamStartPositionUs - streamOffsetUs) != 0
|
||||||
&& !firstEditedMediaItem.mediaItem.clippingConfiguration.startsAtKeyFrame) {
|
&& !firstEditedMediaItem.mediaItem.clippingConfiguration.startsAtKeyFrame) {
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user