mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
parent
4d5f844c61
commit
e0be4c2ff4
2 changed files with 5 additions and 11 deletions
|
|
@ -27,7 +27,7 @@ import static androidx.media3.transformer.ExportResult.OPTIMIZATION_FAILED_EXTRA
|
||||||
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.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.buildUponCompositionForTrimOptimization;
|
import static androidx.media3.transformer.TransmuxTranscodeHelper.buildNewCompositionWithClipTimes;
|
||||||
import static java.lang.Math.round;
|
import static java.lang.Math.round;
|
||||||
import static java.lang.annotation.ElementType.TYPE_USE;
|
import static java.lang.annotation.ElementType.TYPE_USE;
|
||||||
|
|
||||||
|
|
@ -1397,7 +1397,7 @@ public final class Transformer {
|
||||||
if (mp4Info.firstSyncSampleTimestampUsAfterTimeUs - trimStartTimeUs
|
if (mp4Info.firstSyncSampleTimestampUsAfterTimeUs - trimStartTimeUs
|
||||||
<= maxEncodedAudioBufferDurationUs) {
|
<= maxEncodedAudioBufferDurationUs) {
|
||||||
Transformer.this.composition =
|
Transformer.this.composition =
|
||||||
buildUponCompositionForTrimOptimization(
|
buildNewCompositionWithClipTimes(
|
||||||
composition,
|
composition,
|
||||||
mp4Info.firstSyncSampleTimestampUsAfterTimeUs,
|
mp4Info.firstSyncSampleTimestampUsAfterTimeUs,
|
||||||
firstMediaItem.clippingConfiguration.endPositionUs,
|
firstMediaItem.clippingConfiguration.endPositionUs,
|
||||||
|
|
@ -1438,7 +1438,7 @@ public final class Transformer {
|
||||||
}
|
}
|
||||||
Transformer.this.mediaItemInfo = mp4Info;
|
Transformer.this.mediaItemInfo = mp4Info;
|
||||||
Composition trancodeComposition =
|
Composition trancodeComposition =
|
||||||
buildUponCompositionForTrimOptimization(
|
buildNewCompositionWithClipTimes(
|
||||||
composition,
|
composition,
|
||||||
trimStartTimeUs,
|
trimStartTimeUs,
|
||||||
mp4Info.firstSyncSampleTimestampUsAfterTimeUs,
|
mp4Info.firstSyncSampleTimestampUsAfterTimeUs,
|
||||||
|
|
@ -1476,7 +1476,7 @@ public final class Transformer {
|
||||||
long trimStartTimeUs = firstEditedMediaItem.mediaItem.clippingConfiguration.startPositionUs;
|
long trimStartTimeUs = firstEditedMediaItem.mediaItem.clippingConfiguration.startPositionUs;
|
||||||
long trimEndTimeUs = firstEditedMediaItem.mediaItem.clippingConfiguration.endPositionUs;
|
long trimEndTimeUs = firstEditedMediaItem.mediaItem.clippingConfiguration.endPositionUs;
|
||||||
Composition transmuxComposition =
|
Composition transmuxComposition =
|
||||||
buildUponCompositionForTrimOptimization(
|
buildNewCompositionWithClipTimes(
|
||||||
composition,
|
composition,
|
||||||
mediaItemInfo.firstSyncSampleTimestampUsAfterTimeUs,
|
mediaItemInfo.firstSyncSampleTimestampUsAfterTimeUs,
|
||||||
trimEndTimeUs,
|
trimEndTimeUs,
|
||||||
|
|
|
||||||
|
|
@ -75,11 +75,7 @@ import java.util.List;
|
||||||
return mp4InfoSettableFuture;
|
return mp4InfoSettableFuture;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public static Composition buildNewCompositionWithClipTimes(
|
||||||
* Changes the clip times of the {@link MediaItem} in the {@link Composition} and removes any
|
|
||||||
* video effects that shouldn't be applied during transcoding or transmuxing.
|
|
||||||
*/
|
|
||||||
public static Composition buildUponCompositionForTrimOptimization(
|
|
||||||
Composition oldComposition,
|
Composition oldComposition,
|
||||||
long startTimeUs,
|
long startTimeUs,
|
||||||
long endTimeUs,
|
long endTimeUs,
|
||||||
|
|
@ -105,8 +101,6 @@ import java.util.List;
|
||||||
.buildUpon()
|
.buildUpon()
|
||||||
.setMediaItem(mediaItem)
|
.setMediaItem(mediaItem)
|
||||||
.setDurationUs(mediaDurationUs)
|
.setDurationUs(mediaDurationUs)
|
||||||
.setEffects(
|
|
||||||
new Effects(firstEditedMediaItem.effects.audioProcessors, ImmutableList.of()))
|
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
return oldComposition
|
return oldComposition
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue