Commit 50f5e345 by kimvde Committed by Andrew Lewis

Improve shouldTranscode() logic

PiperOrigin-RevId: 511767953
parent c5c171be
......@@ -485,12 +485,9 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
if (!assetLoaderCanOutputEncoded) {
shouldTranscode = true;
} else if (MimeTypes.isAudio(inputFormat.sampleMimeType)) {
shouldTranscode =
(mediaItemCount > 1 && !transmuxAudio) || shouldTranscodeAudio(inputFormat);
shouldTranscode = shouldTranscodeAudio(inputFormat);
} else if (MimeTypes.isVideo(inputFormat.sampleMimeType)) {
shouldTranscode =
(mediaItemCount > 1 && !transmuxVideo)
|| shouldTranscodeVideo(inputFormat, streamStartPositionUs, streamOffsetUs);
shouldTranscode = shouldTranscodeVideo(inputFormat, streamStartPositionUs, streamOffsetUs);
}
checkState(!shouldTranscode || assetLoaderCanOutputDecoded);
......@@ -499,6 +496,9 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
}
private boolean shouldTranscodeAudio(Format inputFormat) {
if (mediaItemCount > 1 && !transmuxAudio) {
return true;
}
if (encoderFactory.audioNeedsEncoding()) {
return true;
}
......@@ -535,6 +535,9 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
private boolean shouldTranscodeVideo(
Format inputFormat, long streamStartPositionUs, long streamOffsetUs) {
if (mediaItemCount > 1 && !transmuxVideo) {
return true;
}
if ((streamStartPositionUs - streamOffsetUs) != 0
&& !firstEditedMediaItem.mediaItem.clippingConfiguration.startsAtKeyFrame) {
return true;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment