Skip to content

Commit

Permalink
Replace duplicated code with emsg start time helper function
Browse files Browse the repository at this point in the history
Follow up to #6674
  • Loading branch information
robwalch committed Sep 9, 2024
1 parent 5eb0e32 commit e680d1a
Showing 1 changed file with 13 additions and 9 deletions.
22 changes: 13 additions & 9 deletions src/demux/mp4demuxer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import {
parseInitSegment,
RemuxerTrackIdConfig,
hasMoofData,
IEmsgParsingData,
} from '../utils/mp4-tools';
import { dummyTrack } from './dummy-demuxed-track';
import type { HlsEventEmitter } from '../events';
Expand Down Expand Up @@ -155,10 +156,7 @@ class MP4Demuxer implements Demuxer {
emsgs.forEach((data: Uint8Array) => {
const emsgInfo = parseEmsg(data);
if (emsgSchemePattern.test(emsgInfo.schemeIdUri)) {
const pts = Number.isFinite(emsgInfo.presentationTime)
? emsgInfo.presentationTime! / emsgInfo.timeScale
: timeOffset +
emsgInfo.presentationTimeDelta! / emsgInfo.timeScale;
const pts = getEmsgStartTime(emsgInfo, timeOffset);
let duration =
emsgInfo.eventDuration === 0xffffffff
? Number.POSITIVE_INFINITY
Expand All @@ -180,11 +178,7 @@ class MP4Demuxer implements Demuxer {
this.config.enableEmsgKLVMetadata &&
emsgInfo.schemeIdUri.startsWith('urn:misb:KLV:bin:1910.1')
) {
const pts = Number.isFinite(emsgInfo.presentationTime)
? emsgInfo.presentationTime! / emsgInfo.timeScale
: timeOffset +
emsgInfo.presentationTimeDelta! / emsgInfo.timeScale;

const pts = getEmsgStartTime(emsgInfo, timeOffset);
id3Track.samples.push({
data: emsgInfo.payload,
len: emsgInfo.payload.byteLength,
Expand Down Expand Up @@ -222,4 +216,14 @@ class MP4Demuxer implements Demuxer {
}
}

function getEmsgStartTime(
emsgInfo: IEmsgParsingData,
timeOffset: number,
): number {
return Number.isFinite(emsgInfo.presentationTime)
? (emsgInfo.presentationTime as number) / emsgInfo.timeScale
: timeOffset +
(emsgInfo.presentationTimeDelta as number) / emsgInfo.timeScale;
}

export default MP4Demuxer;

0 comments on commit e680d1a

Please sign in to comment.