Skip to content

Commit 54c24bb

Browse files
committed
Fix missing offset when calculating start and end times in LiveStreamPacketizerCupertinoDataHandlerDateRange handler.
1 parent 07e52b6 commit 54c24bb

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ plugins {
44
}
55

66
group 'com.wowza.wms.plugin.scte'
7-
version '1.1.1'
7+
version '1.1.2'
88

99
java {
1010
toolchain {

src/main/java/com/wowza/wms/plugin/scte/LiveStreamPacketizerCupertinoDataHandlerDateRange.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,10 @@ public void onFillChunkDataPacket(LiveStreamPacketizerCupertinoChunk chunk, Cupe
8484
public void onFillChunkEnd(LiveStreamPacketizerCupertinoChunk chunk, long timecode) {
8585

8686
CupertinoUserManifestHeaders chunkHeaders = chunk.getUserManifestHeaders();
87+
int rendition = chunk.getRendition().getRendition();
8788
events.forEach((id, event) -> {
8889
String idString = String.format("ID=\"%d\"", event.eventId);
89-
String startString = ",START-DATE=\"" + dateTimeFormatter.format(Instant.ofEpochMilli(streamStartTime + event.startTime)) + "\"";
90+
String startString = ",START-DATE=\"" + dateTimeFormatter.format(Instant.ofEpochMilli(streamStartTime + (event.startTime - tcOffsets[rendition - 1]))) + "\"";
9091
// first chunk for event
9192
if (event.startTime >= chunk.getStartTimecode() && event.startTime < timecode)
9293
{
@@ -107,7 +108,7 @@ else if ((event.startTime + event.duration >= chunk.getStartTimecode()) && (even
107108
dateString = startString;
108109

109110
if(includeEndDateInEndTag)
110-
dateString += ",END-DATE=\"" + dateTimeFormatter.format(Instant.ofEpochMilli(streamStartTime + event.startTime + event.duration)) + "\"";
111+
dateString += ",END-DATE=\"" + dateTimeFormatter.format(Instant.ofEpochMilli(streamStartTime + ((event.startTime + event.duration) - tcOffsets[rendition - 1]))) + "\"";
111112

112113
String durationString = event.duration == 0 ? "" : String.format(",DURATION=%.3f", event.duration / 1000d);
113114
String dateRangeString = "EXT-X-DATERANGE:" + idString + dateString + durationString;

0 commit comments

Comments
 (0)