Skip to content

Commit 4e63879

Browse files
author
Paul Hieromnimon
committed
use main image sequence source duration for marker track duration
1 parent 16933c9 commit 4e63879

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/main/java/com/netflix/imflibrary/writerTools/IMPAssembler.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public AssembledIMPResult assembleIMFFromFiles(SimpleTimeline simpleTimeline, Fi
6161
Map<UUID, List<Long>> sampleRateMap = new HashMap<>();
6262
Map<UUID, BigInteger> sampleCountMap = new HashMap<>();
6363
Map<UUID, byte[]> hashMap = new HashMap<>();
64-
long videoIntrinsicDuration = 0;
64+
long videoTotalSourceDuration = 0;
6565

6666

6767
for (Track track : simpleTimeline.getEssenceTracks()) {
@@ -159,7 +159,7 @@ public AssembledIMPResult assembleIMFFromFiles(SimpleTimeline simpleTimeline, Fi
159159
logger.info("Adding file to resources: {}..", essenceTrackEntry.getFile().getName());
160160

161161
if (track.getSequenceTypeEnum().equals(Composition.SequenceTypeEnum.MainImageSequence)) {
162-
videoIntrinsicDuration += sampleCount.longValue();
162+
videoTotalSourceDuration += (essenceTrackEntry.getDuration() == null ? sampleCount : essenceTrackEntry.getDuration()).longValue();
163163
}
164164

165165
trackFileResources.add(
@@ -209,9 +209,9 @@ public AssembledIMPResult assembleIMFFromFiles(SimpleTimeline simpleTimeline, Fi
209209
markerResources.add(new IMFMarkerResourceType(
210210
UUIDHelper.fromUUID(IMFUUIDGenerator.getInstance().generateUUID()),
211211
editRate,
212-
BigInteger.valueOf(videoIntrinsicDuration),
212+
BigInteger.valueOf(videoTotalSourceDuration),
213213
BigInteger.ZERO,
214-
BigInteger.valueOf(videoIntrinsicDuration), // source duration may not be necessary
214+
BigInteger.valueOf(videoTotalSourceDuration), // source duration may not be necessary
215215
BigInteger.ONE,
216216
markerList));
217217

0 commit comments

Comments
 (0)