Rename OptimizationResult options
Rename options to be more accurate of what they capture PiperOrigin-RevId: 592155563
This commit is contained in:
parent
e5aa69237e
commit
087c07e596
@ -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.generateTextureFromBitmap;
|
||||
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_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 org.junit.Assert.assertThrows;
|
||||
import static org.junit.Assume.assumeFalse;
|
||||
@ -514,7 +514,7 @@ public class TransformerEndToEndTest {
|
||||
.run(testId, mediaItem);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
@ -549,7 +549,7 @@ public class TransformerEndToEndTest {
|
||||
.run(testId, mediaItem);
|
||||
|
||||
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.
|
||||
assertThat(result.exportResult.durationMs).isAtMost(1_017);
|
||||
}
|
||||
@ -620,7 +620,7 @@ public class TransformerEndToEndTest {
|
||||
.run(testId, editedMediaItem);
|
||||
|
||||
assertThat(result.exportResult.optimizationResult)
|
||||
.isEqualTo(TRIM_OPTIMIZATION_ABANDONED_TRANSCODING_EFFECTS_REQUESTED);
|
||||
.isEqualTo(OPTIMIZATION_ABANDONED_TRIM_AND_TRANSCODING_TRANSFORMATION_REQUESTED);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -294,8 +294,8 @@ public final class ExportResult {
|
||||
* <ul>
|
||||
* <li>{@link #OPTIMIZATION_NONE}
|
||||
* <li>{@link #OPTIMIZATION_SUCCEEDED}
|
||||
* <li>{@link #TRIM_OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT}
|
||||
* <li>{@link #TRIM_OPTIMIZATION_ABANDONED_TRANSCODING_EFFECTS_REQUESTED}
|
||||
* <li>{@link #OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT_OPTIMAL_FOR_TRIM}
|
||||
* <li>{@link #OPTIMIZATION_ABANDONED_TRIM_AND_TRANSCODING_TRANSFORMATION_REQUESTED}
|
||||
* <li>{@link #OPTIMIZATION_ABANDONED_OTHER}
|
||||
* <li>{@link #OPTIMIZATION_FAILED_EXTRACTION_FAILED}
|
||||
* <li>{@link #OPTIMIZATION_FAILED_FORMAT_MISMATCH}
|
||||
@ -307,8 +307,8 @@ public final class ExportResult {
|
||||
@IntDef({
|
||||
OPTIMIZATION_NONE,
|
||||
OPTIMIZATION_SUCCEEDED,
|
||||
TRIM_OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT,
|
||||
TRIM_OPTIMIZATION_ABANDONED_TRANSCODING_EFFECTS_REQUESTED,
|
||||
OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT_OPTIMAL_FOR_TRIM,
|
||||
OPTIMIZATION_ABANDONED_TRIM_AND_TRANSCODING_TRANSFORMATION_REQUESTED,
|
||||
OPTIMIZATION_ABANDONED_OTHER,
|
||||
OPTIMIZATION_FAILED_EXTRACTION_FAILED,
|
||||
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
|
||||
* optimization was abandoned and normal export proceeded.
|
||||
*
|
||||
* <p>The trim optimization does not improve performance when the video starts at a key frame, or
|
||||
* when there is no key frames between the requested {@link
|
||||
* <p>The trim optimization does not improve performance when 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#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
|
||||
* requested}, but it would not improve performance because an effect that requires transcoding
|
||||
* was also requested. The optimization was abandoned and normal export proceeded.
|
||||
* requested}, but it would not improve performance because another transformation that requires
|
||||
* 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
|
||||
|
@ -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.checkState;
|
||||
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_TRIM_AND_TRANSCODING_TRANSFORMATION_REQUESTED;
|
||||
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.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.shouldTranscodeVideo;
|
||||
import static androidx.media3.transformer.TransmuxTranscodeHelper.buildNewCompositionWithClipTimes;
|
||||
@ -1253,7 +1253,7 @@ public final class Transformer {
|
||||
|| (trimEndTimeUs != C.TIME_END_OF_SOURCE
|
||||
&& trimEndTimeUs < mp4MetadataInfo.firstSyncSampleTimestampUsAfterTimeUs)) {
|
||||
exportResultBuilder.setOptimizationResult(
|
||||
TRIM_OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT);
|
||||
OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT_OPTIMAL_FOR_TRIM);
|
||||
processFullInput();
|
||||
return;
|
||||
}
|
||||
@ -1269,7 +1269,7 @@ public final class Transformer {
|
||||
mp4MetadataInfo.durationUs,
|
||||
/* startsAtKeyFrame= */ true);
|
||||
exportResultBuilder.setOptimizationResult(
|
||||
TRIM_OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT);
|
||||
OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT_OPTIMAL_FOR_TRIM);
|
||||
processFullInput();
|
||||
return;
|
||||
}
|
||||
@ -1296,7 +1296,7 @@ public final class Transformer {
|
||||
remuxingMuxerWrapper))) {
|
||||
remuxingMuxerWrapper = null;
|
||||
exportResultBuilder.setOptimizationResult(
|
||||
TRIM_OPTIMIZATION_ABANDONED_TRANSCODING_EFFECTS_REQUESTED);
|
||||
OPTIMIZATION_ABANDONED_TRIM_AND_TRANSCODING_TRANSFORMATION_REQUESTED);
|
||||
processFullInput();
|
||||
return;
|
||||
}
|
||||
|
@ -19,8 +19,8 @@ package androidx.media3.transformer;
|
||||
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_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.TRIM_OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT;
|
||||
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_WB;
|
||||
@ -170,7 +170,7 @@ public final class MediaItemExportTest {
|
||||
ExportResult exportResult = TransformerTestRunner.runLooper(transformer);
|
||||
|
||||
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.
|
||||
DumpFileAsserts.assertOutput(
|
||||
context,
|
||||
@ -199,7 +199,7 @@ public final class MediaItemExportTest {
|
||||
ExportResult exportResult = TransformerTestRunner.runLooper(transformer);
|
||||
|
||||
assertThat(exportResult.optimizationResult)
|
||||
.isEqualTo(TRIM_OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT);
|
||||
.isEqualTo(OPTIMIZATION_ABANDONED_KEYFRAME_PLACEMENT_OPTIMAL_FOR_TRIM);
|
||||
DumpFileAsserts.assertOutput(
|
||||
context,
|
||||
muxerFactory.getCreatedMuxer(),
|
||||
|
Loading…
x
Reference in New Issue
Block a user