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; ...@@ -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; ...@@ -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; ...@@ -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;
......
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