Rename OptimizationResult options

Rename options to be more accurate of what they capture

PiperOrigin-RevId: 592155563
This commit is contained in:
tofunmi 2023-12-19 01:47:57 -08:00 committed by Copybara-Service
parent e5aa69237e
commit 087c07e596
4 changed files with 24 additions and 23 deletions

View File

@ -28,10 +28,10 @@ import static androidx.media3.transformer.AndroidTestUtil.PNG_ASSET_URI_STRING;
import static androidx.media3.transformer.AndroidTestUtil.createOpenGlObjects; import static androidx.media3.transformer.AndroidTestUtil.createOpenGlObjects;
import static androidx.media3.transformer.AndroidTestUtil.generateTextureFromBitmap; import static androidx.media3.transformer.AndroidTestUtil.generateTextureFromBitmap;
import static androidx.media3.transformer.AndroidTestUtil.recordTestSkipped; import static androidx.media3.transformer.AndroidTestUtil.recordTestSkipped;
import static androidx.media3.transformer.ExportResult.OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT_OPTIMAL_FOR_TRIM;
import static androidx.media3.transformer.ExportResult.OPTIMIZATION_ABANDONED_TRIM_AND_TRANSCODING_TRANSFORMATION_REQUESTED;
import static androidx.media3.transformer.ExportResult.OPTIMIZATION_FAILED_FORMAT_MISMATCH; import static androidx.media3.transformer.ExportResult.OPTIMIZATION_FAILED_FORMAT_MISMATCH;
import static androidx.media3.transformer.ExportResult.OPTIMIZATION_SUCCEEDED; import static androidx.media3.transformer.ExportResult.OPTIMIZATION_SUCCEEDED;
import static androidx.media3.transformer.ExportResult.TRIM_OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT;
import static androidx.media3.transformer.ExportResult.TRIM_OPTIMIZATION_ABANDONED_TRANSCODING_EFFECTS_REQUESTED;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertThrows;
import static org.junit.Assume.assumeFalse; import static org.junit.Assume.assumeFalse;
@ -514,7 +514,7 @@ public class TransformerEndToEndTest {
.run(testId, mediaItem); .run(testId, mediaItem);
assertThat(result.exportResult.optimizationResult) assertThat(result.exportResult.optimizationResult)
.isEqualTo(TRIM_OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT); .isEqualTo(OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT_OPTIMAL_FOR_TRIM);
assertThat(result.exportResult.durationMs).isAtMost(clippingEndMs - clippingStartMs); assertThat(result.exportResult.durationMs).isAtMost(clippingEndMs - clippingStartMs);
} }
@ -549,7 +549,7 @@ public class TransformerEndToEndTest {
.run(testId, mediaItem); .run(testId, mediaItem);
assertThat(result.exportResult.optimizationResult) assertThat(result.exportResult.optimizationResult)
.isEqualTo(TRIM_OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT); .isEqualTo(OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT_OPTIMAL_FOR_TRIM);
// The asset is 15 s 537 ms long. // The asset is 15 s 537 ms long.
assertThat(result.exportResult.durationMs).isAtMost(1_017); assertThat(result.exportResult.durationMs).isAtMost(1_017);
} }
@ -620,7 +620,7 @@ public class TransformerEndToEndTest {
.run(testId, editedMediaItem); .run(testId, editedMediaItem);
assertThat(result.exportResult.optimizationResult) assertThat(result.exportResult.optimizationResult)
.isEqualTo(TRIM_OPTIMIZATION_ABANDONED_TRANSCODING_EFFECTS_REQUESTED); .isEqualTo(OPTIMIZATION_ABANDONED_TRIM_AND_TRANSCODING_TRANSFORMATION_REQUESTED);
} }
@Test @Test

View File

@ -294,8 +294,8 @@ public final class ExportResult {
* <ul> * <ul>
* <li>{@link #OPTIMIZATION_NONE} * <li>{@link #OPTIMIZATION_NONE}
* <li>{@link #OPTIMIZATION_SUCCEEDED} * <li>{@link #OPTIMIZATION_SUCCEEDED}
* <li>{@link #TRIM_OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT} * <li>{@link #OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT_OPTIMAL_FOR_TRIM}
* <li>{@link #TRIM_OPTIMIZATION_ABANDONED_TRANSCODING_EFFECTS_REQUESTED} * <li>{@link #OPTIMIZATION_ABANDONED_TRIM_AND_TRANSCODING_TRANSFORMATION_REQUESTED}
* <li>{@link #OPTIMIZATION_ABANDONED_OTHER} * <li>{@link #OPTIMIZATION_ABANDONED_OTHER}
* <li>{@link #OPTIMIZATION_FAILED_EXTRACTION_FAILED} * <li>{@link #OPTIMIZATION_FAILED_EXTRACTION_FAILED}
* <li>{@link #OPTIMIZATION_FAILED_FORMAT_MISMATCH} * <li>{@link #OPTIMIZATION_FAILED_FORMAT_MISMATCH}
@ -307,8 +307,8 @@ public final class ExportResult {
@IntDef({ @IntDef({
OPTIMIZATION_NONE, OPTIMIZATION_NONE,
OPTIMIZATION_SUCCEEDED, OPTIMIZATION_SUCCEEDED,
TRIM_OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT, OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT_OPTIMAL_FOR_TRIM,
TRIM_OPTIMIZATION_ABANDONED_TRANSCODING_EFFECTS_REQUESTED, OPTIMIZATION_ABANDONED_TRIM_AND_TRANSCODING_TRANSFORMATION_REQUESTED,
OPTIMIZATION_ABANDONED_OTHER, OPTIMIZATION_ABANDONED_OTHER,
OPTIMIZATION_FAILED_EXTRACTION_FAILED, OPTIMIZATION_FAILED_EXTRACTION_FAILED,
OPTIMIZATION_FAILED_FORMAT_MISMATCH OPTIMIZATION_FAILED_FORMAT_MISMATCH
@ -326,19 +326,20 @@ public final class ExportResult {
* requested}, but it would not improve performance because of key frame placement. The * requested}, but it would not improve performance because of key frame placement. The
* optimization was abandoned and normal export proceeded. * optimization was abandoned and normal export proceeded.
* *
* <p>The trim optimization does not improve performance when the video starts at a key frame, or * <p>The trim optimization does not improve performance when the requested {@link
* when there is no key frames between the requested {@link * androidx.media3.common.MediaItem.ClippingConfiguration#startPositionUs} is at a key frame, or
* when there are no key frames between the requested {@link
* androidx.media3.common.MediaItem.ClippingConfiguration#startPositionUs} and {@link * androidx.media3.common.MediaItem.ClippingConfiguration#startPositionUs} and {@link
* androidx.media3.common.MediaItem.ClippingConfiguration#endPositionUs} * androidx.media3.common.MediaItem.ClippingConfiguration#endPositionUs}
*/ */
public static final int TRIM_OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT = 2; public static final int OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT_OPTIMAL_FOR_TRIM = 2;
/** /**
* {@linkplain Transformer.Builder#experimentalSetTrimOptimizationEnabled Trim optimization was * {@linkplain Transformer.Builder#experimentalSetTrimOptimizationEnabled Trim optimization was
* requested}, but it would not improve performance because an effect that requires transcoding * requested}, but it would not improve performance because another transformation that requires
* was also requested. The optimization was abandoned and normal export proceeded. * transcoding was also requested. The optimization was abandoned and normal export proceeded.
*/ */
public static final int TRIM_OPTIMIZATION_ABANDONED_TRANSCODING_EFFECTS_REQUESTED = 3; public static final int OPTIMIZATION_ABANDONED_TRIM_AND_TRANSCODING_TRANSFORMATION_REQUESTED = 3;
/** /**
* The requested optimization would not improve performance for a reason other than the ones * The requested optimization would not improve performance for a reason other than the ones

View File

@ -20,11 +20,11 @@ import static androidx.media3.common.util.Assertions.checkArgument;
import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkNotNull;
import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkState;
import static androidx.media3.transformer.Composition.HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR; import static androidx.media3.transformer.Composition.HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR;
import static androidx.media3.transformer.ExportResult.OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT_OPTIMAL_FOR_TRIM;
import static androidx.media3.transformer.ExportResult.OPTIMIZATION_ABANDONED_OTHER; import static androidx.media3.transformer.ExportResult.OPTIMIZATION_ABANDONED_OTHER;
import static androidx.media3.transformer.ExportResult.OPTIMIZATION_ABANDONED_TRIM_AND_TRANSCODING_TRANSFORMATION_REQUESTED;
import static androidx.media3.transformer.ExportResult.OPTIMIZATION_FAILED_EXTRACTION_FAILED; import static androidx.media3.transformer.ExportResult.OPTIMIZATION_FAILED_EXTRACTION_FAILED;
import static androidx.media3.transformer.ExportResult.OPTIMIZATION_FAILED_FORMAT_MISMATCH; import static androidx.media3.transformer.ExportResult.OPTIMIZATION_FAILED_FORMAT_MISMATCH;
import static androidx.media3.transformer.ExportResult.TRIM_OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT;
import static androidx.media3.transformer.ExportResult.TRIM_OPTIMIZATION_ABANDONED_TRANSCODING_EFFECTS_REQUESTED;
import static androidx.media3.transformer.TransformerUtil.shouldTranscodeAudio; import static androidx.media3.transformer.TransformerUtil.shouldTranscodeAudio;
import static androidx.media3.transformer.TransformerUtil.shouldTranscodeVideo; import static androidx.media3.transformer.TransformerUtil.shouldTranscodeVideo;
import static androidx.media3.transformer.TransmuxTranscodeHelper.buildNewCompositionWithClipTimes; import static androidx.media3.transformer.TransmuxTranscodeHelper.buildNewCompositionWithClipTimes;
@ -1253,7 +1253,7 @@ public final class Transformer {
|| (trimEndTimeUs != C.TIME_END_OF_SOURCE || (trimEndTimeUs != C.TIME_END_OF_SOURCE
&& trimEndTimeUs < mp4MetadataInfo.firstSyncSampleTimestampUsAfterTimeUs)) { && trimEndTimeUs < mp4MetadataInfo.firstSyncSampleTimestampUsAfterTimeUs)) {
exportResultBuilder.setOptimizationResult( exportResultBuilder.setOptimizationResult(
TRIM_OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT); OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT_OPTIMAL_FOR_TRIM);
processFullInput(); processFullInput();
return; return;
} }
@ -1269,7 +1269,7 @@ public final class Transformer {
mp4MetadataInfo.durationUs, mp4MetadataInfo.durationUs,
/* startsAtKeyFrame= */ true); /* startsAtKeyFrame= */ true);
exportResultBuilder.setOptimizationResult( exportResultBuilder.setOptimizationResult(
TRIM_OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT); OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT_OPTIMAL_FOR_TRIM);
processFullInput(); processFullInput();
return; return;
} }
@ -1296,7 +1296,7 @@ public final class Transformer {
remuxingMuxerWrapper))) { remuxingMuxerWrapper))) {
remuxingMuxerWrapper = null; remuxingMuxerWrapper = null;
exportResultBuilder.setOptimizationResult( exportResultBuilder.setOptimizationResult(
TRIM_OPTIMIZATION_ABANDONED_TRANSCODING_EFFECTS_REQUESTED); OPTIMIZATION_ABANDONED_TRIM_AND_TRANSCODING_TRANSFORMATION_REQUESTED);
processFullInput(); processFullInput();
return; return;
} }

View File

@ -19,8 +19,8 @@ package androidx.media3.transformer;
import static androidx.media3.test.utils.robolectric.RobolectricUtil.runLooperUntil; import static androidx.media3.test.utils.robolectric.RobolectricUtil.runLooperUntil;
import static androidx.media3.transformer.AssetLoader.SUPPORTED_OUTPUT_TYPE_DECODED; import static androidx.media3.transformer.AssetLoader.SUPPORTED_OUTPUT_TYPE_DECODED;
import static androidx.media3.transformer.AssetLoader.SUPPORTED_OUTPUT_TYPE_ENCODED; import static androidx.media3.transformer.AssetLoader.SUPPORTED_OUTPUT_TYPE_ENCODED;
import static androidx.media3.transformer.ExportResult.OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT_OPTIMAL_FOR_TRIM;
import static androidx.media3.transformer.ExportResult.OPTIMIZATION_FAILED_EXTRACTION_FAILED; import static androidx.media3.transformer.ExportResult.OPTIMIZATION_FAILED_EXTRACTION_FAILED;
import static androidx.media3.transformer.ExportResult.TRIM_OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT;
import static androidx.media3.transformer.TestUtil.ASSET_URI_PREFIX; import static androidx.media3.transformer.TestUtil.ASSET_URI_PREFIX;
import static androidx.media3.transformer.TestUtil.FILE_AUDIO_AMR_NB; import static androidx.media3.transformer.TestUtil.FILE_AUDIO_AMR_NB;
import static androidx.media3.transformer.TestUtil.FILE_AUDIO_AMR_WB; import static androidx.media3.transformer.TestUtil.FILE_AUDIO_AMR_WB;
@ -170,7 +170,7 @@ public final class MediaItemExportTest {
ExportResult exportResult = TransformerTestRunner.runLooper(transformer); ExportResult exportResult = TransformerTestRunner.runLooper(transformer);
assertThat(exportResult.optimizationResult) assertThat(exportResult.optimizationResult)
.isEqualTo(TRIM_OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT); .isEqualTo(OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT_OPTIMAL_FOR_TRIM);
// Asserts against file generated when experimentalSetTrimOptimizationEnabled is set to false. // Asserts against file generated when experimentalSetTrimOptimizationEnabled is set to false.
DumpFileAsserts.assertOutput( DumpFileAsserts.assertOutput(
context, context,
@ -199,7 +199,7 @@ public final class MediaItemExportTest {
ExportResult exportResult = TransformerTestRunner.runLooper(transformer); ExportResult exportResult = TransformerTestRunner.runLooper(transformer);
assertThat(exportResult.optimizationResult) assertThat(exportResult.optimizationResult)
.isEqualTo(TRIM_OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT); .isEqualTo(OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT_OPTIMAL_FOR_TRIM);
DumpFileAsserts.assertOutput( DumpFileAsserts.assertOutput(
context, context,
muxerFactory.getCreatedMuxer(), muxerFactory.getCreatedMuxer(),