From 108cc7c8e4fcaa720c6675fdef4d015c32ac356e Mon Sep 17 00:00:00 2001 From: ldayananda Date: Mon, 6 Aug 2018 17:32:40 -0400 Subject: [PATCH 01/10] Wire up captionInfo events from partial transmuxer to existing caption display --- src/segment-loader.js | 1 + src/segment-transmuxer.js | 8 ++++++++ src/transmuxer-worker.js | 7 +++++++ 3 files changed, 16 insertions(+) diff --git a/src/segment-loader.js b/src/segment-loader.js index 896ced656..802090a9b 100644 --- a/src/segment-loader.js +++ b/src/segment-loader.js @@ -1139,6 +1139,7 @@ export default class SegmentLoader extends videojs.EventTarget { } handleCaptions_(simpleSegment, captions, captionStreams) { + // console.log('HANDLING CAPTIONS', captions, captionStreams); // Don't need to check for abort since captions are only handled for non partial // appends at the moment (therefore, they will only trigger once a segment is finished // being transmuxed). diff --git a/src/segment-transmuxer.js b/src/segment-transmuxer.js index 56ffee6f7..830bfa68a 100644 --- a/src/segment-transmuxer.js +++ b/src/segment-transmuxer.js @@ -93,6 +93,7 @@ export const handleDone_ = ({ onId3(metadata, metadata.dispatchType); } if (captions && captions.length) { + // console.log('FULL CAPTIONS', captions, captionStreams); onCaptions(captions, captionStreams); } @@ -142,6 +143,13 @@ export const processTransmux = ({ if (event.data.action === 'id3Frame') { onId3([event.data.id3Frame], event.data.id3Frame.dispatchType); } + // only used for partial transmuxer, full transmuxer will handle on done + if (event.data.action === 'captionInfo') { + const captionInfo = event.data.captionInfo; + + // console.log('PARTIAL transmux return', captionInfo); + onCaptions(captionInfo.captions, captionInfo.captionStreams); + } // wait for the transmuxed event since we may have audio and video if (event.data.type !== 'transmuxed') { diff --git a/src/transmuxer-worker.js b/src/transmuxer-worker.js index 30cf8dfb2..ed4977c07 100644 --- a/src/transmuxer-worker.js +++ b/src/transmuxer-worker.js @@ -149,6 +149,13 @@ const wirePartialTransmuxerEvents = function(transmuxer) { }); }); + transmuxer.on('captionInfo', function(captionInfo) { + window.postMessage({ + action: 'captionInfo', + captionInfo + }); + }); + transmuxer.on('done', function(data) { window.postMessage({ action: 'done', From 91e022e5e354193a345af918a3b7a2aa9eea6e86 Mon Sep 17 00:00:00 2001 From: ldayananda Date: Tue, 14 Aug 2018 18:27:54 -0400 Subject: [PATCH 02/10] More extensive caption and ID3 path changes --- src/media-segment-request.js | 7 +++--- src/segment-loader.js | 46 +++++++++++++++++++++++++----------- src/segment-transmuxer.js | 45 +++++------------------------------ src/transmuxer-worker.js | 30 ++++++++++++++--------- src/util/text-tracks.js | 40 +++++++++++++++---------------- 5 files changed, 80 insertions(+), 88 deletions(-) diff --git a/src/media-segment-request.js b/src/media-segment-request.js index 64d0d5312..657f805f9 100644 --- a/src/media-segment-request.js +++ b/src/media-segment-request.js @@ -336,8 +336,8 @@ const transmuxAndNotify = ({ onId3: (id3Frames, dispatchType) => { id3Fn(segment, id3Frames, dispatchType); }, - onCaptions: (captions, captionStreams) => { - captionsFn(segment, captions, captionStreams); + onCaptions: (captions) => { + captionsFn(segment, [captions]); }, onDone: (result) => { // To handle partial appends, there won't be a done function passed in (since @@ -392,13 +392,14 @@ const handleSegmentBytes = ({ captionParser.init(); } + // TODO: adapt to parse partials const parsed = captionParser.parse( segment.bytes, segment.map.videoTrackIds, segment.map.timescales); if (parsed && parsed.captions) { - captionsFn(segment, parsed.captions, parsed.captionStreams); + captionsFn(segment, parsed.captions); } doneFn(null, segment, {}); diff --git a/src/segment-loader.js b/src/segment-loader.js index 802090a9b..9742dd0cb 100644 --- a/src/segment-loader.js +++ b/src/segment-loader.js @@ -1138,18 +1138,36 @@ export default class SegmentLoader extends videojs.EventTarget { } } - handleCaptions_(simpleSegment, captions, captionStreams) { - // console.log('HANDLING CAPTIONS', captions, captionStreams); - // Don't need to check for abort since captions are only handled for non partial - // appends at the moment (therefore, they will only trigger once a segment is finished - // being transmuxed). - createCaptionsTrackIfNotExists( - this.inbandTextTracks_, this.hls_.tech_, captionStreams); - addCaptionData({ - captionArray: captions, - inbandTextTracks: this.inbandTextTracks_, - // full segments appends already offset times in the transmuxer - timestampOffset: 0 + handleCaptions_(simpleSegment, captions) { + if (this.checkForAbort_(simpleSegment.requestId) || + this.abortRequestEarly_(simpleSegment.stats) || + !captions || captions.length === 0) { + return; + } + + const segmentInfo = this.pendingSegment_; + + // TODO what happens in this case? + if (!segmentInfo.hasAppendedData_) { + return; + } + + // FIXME do FMP4 segments need to be adjusted? + const timestampOffset = this.sourceUpdater_.videoTimestampOffset() === null ? + this.sourceUpdater_.audioTimestampOffset() : + this.sourceUpdater_.videoTimestampOffset(); + + captions.forEach((caption) => { + // Don't need to check for abort since captions are only handled for non partial + // appends at the moment (therefore, they will only trigger once a segment is finished + // being transmuxed). + createCaptionsTrackIfNotExists( + this.inbandTextTracks_, this.hls_.tech_, caption.stream); + addCaptionData({ + captionArray: [caption], + inbandTextTracks: this.inbandTextTracks_, + timestampOffset + }); }); // TODO @@ -1178,8 +1196,8 @@ export default class SegmentLoader extends videojs.EventTarget { if (this.handlePartialData_) { timestampOffset = this.sourceUpdater_.videoTimestampOffset() === null ? - this.sourceUpdater_.videoTimestampOffset() : - this.sourceUpdater_.audioTimestampOffset(); + this.sourceUpdater_.audioTimestampOffset() : + this.sourceUpdater_.videoTimestampOffset(); } // There's potentially an issue where we could double add metadata if there's a muxed diff --git a/src/segment-transmuxer.js b/src/segment-transmuxer.js index 830bfa68a..3aae1e80e 100644 --- a/src/segment-transmuxer.js +++ b/src/segment-transmuxer.js @@ -56,47 +56,13 @@ export const handleDone_ = ({ // all buffers should have been flushed from the muxer, so start processing anything we // have received let sortedSegments = { - captions: [], gopInfo: transmuxedData.gopInfo, videoTimingInfo: transmuxedData.videoTimingInfo, - audioTimingInfo: transmuxedData.audioTimingInfo, - captionStreams: {} + audioTimingInfo: transmuxedData.audioTimingInfo }; - const buffer = transmuxedData.buffer; - let metadata = []; - let captions = []; - let captionStreams = []; transmuxedData.buffer = []; - // Sort segments into separate video/audio arrays and - // keep track of their total byte lengths - sortedSegments = buffer.reduce((segmentObj, segment) => { - // Gather any captions into a single array - if (segment.captions) { - captions = captions.concat(segment.captions); - } - - // Gather any metadata into a single array - if (segment.metadata) { - metadata = metadata.concat(segment.metadata); - } - - if (segment.captionStreams) { - captionStreams = videojs.mergeOptions(captionStreams, segment.captionStreams); - } - - return segmentObj; - }, sortedSegments); - - if (metadata && metadata.length) { - onId3(metadata, metadata.dispatchType); - } - if (captions && captions.length) { - // console.log('FULL CAPTIONS', captions, captionStreams); - onCaptions(captions, captionStreams); - } - callback(sortedSegments); }; @@ -140,15 +106,16 @@ export const processTransmux = ({ onVideoTimingInfo(event.data.videoTimingInfo); } // only used for partial transmuxer, full transmuxer will handle on done + // FIXME: update comment if (event.data.action === 'id3Frame') { onId3([event.data.id3Frame], event.data.id3Frame.dispatchType); } // only used for partial transmuxer, full transmuxer will handle on done - if (event.data.action === 'captionInfo') { - const captionInfo = event.data.captionInfo; + // FIXME: update comment + if (event.data.action === 'caption') { + const caption = event.data.caption; - // console.log('PARTIAL transmux return', captionInfo); - onCaptions(captionInfo.captions, captionInfo.captionStreams); + onCaptions(caption); } // wait for the transmuxed event since we may have audio and video diff --git a/src/transmuxer-worker.js b/src/transmuxer-worker.js index ed4977c07..a972faf69 100644 --- a/src/transmuxer-worker.js +++ b/src/transmuxer-worker.js @@ -62,14 +62,19 @@ const wireFullTransmuxerEvents = function(transmuxer) { }, [segment.data]); }); - if (transmuxer.captionStream) { - transmuxer.captionStream.on('data', function(caption) { - window.postMessage({ - action: 'caption', - data: caption - }); + transmuxer.on('id3Frame', function(id3Frame) { + window.postMessage({ + action: 'id3Frame', + id3Frame }); - } + }); + + transmuxer.on('caption', function(caption) { + window.postMessage({ + action: 'caption', + caption + }); + }); transmuxer.on('done', function(data) { window.postMessage({ action: 'done' }); @@ -83,7 +88,10 @@ const wireFullTransmuxerEvents = function(transmuxer) { }); transmuxer.on('trackinfo', function(trackInfo) { - window.postMessage({ action: 'trackinfo', trackInfo }); + window.postMessage({ + action: 'trackinfo', + trackInfo + }); }); transmuxer.on('audioTimingInfo', function(audioTimingInfo) { @@ -149,10 +157,10 @@ const wirePartialTransmuxerEvents = function(transmuxer) { }); }); - transmuxer.on('captionInfo', function(captionInfo) { + transmuxer.on('caption', function(caption) { window.postMessage({ - action: 'captionInfo', - captionInfo + action: 'caption', + caption }); }); diff --git a/src/util/text-tracks.js b/src/util/text-tracks.js index c9f4e00a9..2229cf322 100644 --- a/src/util/text-tracks.js +++ b/src/util/text-tracks.js @@ -183,30 +183,28 @@ export const createMetadataTrackIfNotExists = (inbandTextTracks, dispatchType, t * * @param {Object} inbandTextTracks a reference to current inbandTextTracks * @param {Object} tech the video.js tech - * @param {Object} captionStreams the caption streams to create + * @param {Object} captionStream the caption stream to create * @private */ export const createCaptionsTrackIfNotExists = -(inbandTextTracks, tech, captionStreams) => { - for (let trackId in captionStreams) { - if (!inbandTextTracks[trackId]) { - tech.trigger({type: 'usage', name: 'hls-608'}); - let track = tech.textTracks().getTrackById(trackId); - - if (track) { - // Resuse an existing track with a CC# id because this was - // very likely created by videojs-contrib-hls from information - // in the m3u8 for us to use - inbandTextTracks[trackId] = track; - } else { - // Otherwise, create a track with the default `CC#` label and - // without a language - inbandTextTracks[trackId] = tech.addRemoteTextTrack({ - kind: 'captions', - id: trackId, - label: trackId - }, false).track; - } +(inbandTextTracks, tech, captionStream) => { + if (!inbandTextTracks[captionStream]) { + tech.trigger({type: 'usage', name: 'hls-608'}); + let track = tech.textTracks().getTrackById(captionStream); + + if (track) { + // Resuse an existing track with a CC# id because this was + // very likely created by videojs-contrib-hls from information + // in the m3u8 for us to use + inbandTextTracks[captionStream] = track; + } else { + // Otherwise, create a track with the default `CC#` label and + // without a language + inbandTextTracks[captionStream] = tech.addRemoteTextTrack({ + kind: 'captions', + id: captionStream, + label: captionStream + }, false).track; } } }; From 3a55698020f7a59566691d9d52104683e41afb87 Mon Sep 17 00:00:00 2001 From: ldayananda Date: Tue, 28 Aug 2018 16:00:24 -0400 Subject: [PATCH 03/10] Passing handlePartialData to CaptionParser for partial fmp4 caption support --- src/media-segment-request.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/media-segment-request.js b/src/media-segment-request.js index 657f805f9..a1327e8df 100644 --- a/src/media-segment-request.js +++ b/src/media-segment-request.js @@ -177,7 +177,7 @@ const handleKeyResponse = (segment, finishProcessingFn) => (error, request) => { * this request */ const handleInitSegmentResponse = -(segment, captionParser, finishProcessingFn) => (error, request) => { +({segment, captionParser, handlePartialData, finishProcessingFn}) => (error, request) => { const response = request.response; const errorObj = handleErrors(error, request); @@ -199,7 +199,7 @@ const handleInitSegmentResponse = // Initialize CaptionParser if it hasn't been yet if (!captionParser.isInitialized()) { - captionParser.init(); + captionParser.init({ isPartial: handlePartialData }); } segment.map.timescales = mp4probe.timescale(segment.map.bytes); @@ -389,7 +389,7 @@ const handleSegmentBytes = ({ // Run through the CaptionParser in case there are captions. // Initialize CaptionParser if it hasn't been yet if (!captionParser.isInitialized()) { - captionParser.init(); + captionParser.init({ isPartial }); } // TODO: adapt to parse partials @@ -742,9 +742,12 @@ export const mediaSegmentRequest = ({ responseType: 'arraybuffer', headers: segmentXhrHeaders(segment.map) }); - const initSegmentRequestCallback = handleInitSegmentResponse(segment, - captionParser, - finishProcessingFn); + const initSegmentRequestCallback = handleInitSegmentResponse({ + segment, + captionParser, + handlePartialData, + finishProcessingFn + }); const initSegmentXhr = xhr(initSegmentOptions, initSegmentRequestCallback); activeXhrs.push(initSegmentXhr); From 6ac3007e7b74afbb4b76b229814762b3a19aa8af Mon Sep 17 00:00:00 2001 From: ldayananda Date: Tue, 28 Aug 2018 18:21:58 -0400 Subject: [PATCH 04/10] back out some of the changes to fmp4 captions --- src/media-segment-request.js | 5 ++--- src/segment-loader.js | 5 ----- src/segment-transmuxer.js | 8 +------- 3 files changed, 3 insertions(+), 15 deletions(-) diff --git a/src/media-segment-request.js b/src/media-segment-request.js index a1327e8df..9bd3a838c 100644 --- a/src/media-segment-request.js +++ b/src/media-segment-request.js @@ -199,7 +199,7 @@ const handleInitSegmentResponse = // Initialize CaptionParser if it hasn't been yet if (!captionParser.isInitialized()) { - captionParser.init({ isPartial: handlePartialData }); + captionParser.init(); } segment.map.timescales = mp4probe.timescale(segment.map.bytes); @@ -389,10 +389,9 @@ const handleSegmentBytes = ({ // Run through the CaptionParser in case there are captions. // Initialize CaptionParser if it hasn't been yet if (!captionParser.isInitialized()) { - captionParser.init({ isPartial }); + captionParser.init(); } - // TODO: adapt to parse partials const parsed = captionParser.parse( segment.bytes, segment.map.videoTrackIds, diff --git a/src/segment-loader.js b/src/segment-loader.js index 9742dd0cb..d68fb649f 100644 --- a/src/segment-loader.js +++ b/src/segment-loader.js @@ -1152,15 +1152,11 @@ export default class SegmentLoader extends videojs.EventTarget { return; } - // FIXME do FMP4 segments need to be adjusted? const timestampOffset = this.sourceUpdater_.videoTimestampOffset() === null ? this.sourceUpdater_.audioTimestampOffset() : this.sourceUpdater_.videoTimestampOffset(); captions.forEach((caption) => { - // Don't need to check for abort since captions are only handled for non partial - // appends at the moment (therefore, they will only trigger once a segment is finished - // being transmuxed). createCaptionsTrackIfNotExists( this.inbandTextTracks_, this.hls_.tech_, caption.stream); addCaptionData({ @@ -1170,7 +1166,6 @@ export default class SegmentLoader extends videojs.EventTarget { }); }); - // TODO // Reset stored captions since we added parsed // captions to a text track at this point this.captionParser_.clearParsedCaptions(); diff --git a/src/segment-transmuxer.js b/src/segment-transmuxer.js index 3aae1e80e..40d2f905a 100644 --- a/src/segment-transmuxer.js +++ b/src/segment-transmuxer.js @@ -105,17 +105,11 @@ export const processTransmux = ({ if (event.data.action === 'videoTimingInfo') { onVideoTimingInfo(event.data.videoTimingInfo); } - // only used for partial transmuxer, full transmuxer will handle on done - // FIXME: update comment if (event.data.action === 'id3Frame') { onId3([event.data.id3Frame], event.data.id3Frame.dispatchType); } - // only used for partial transmuxer, full transmuxer will handle on done - // FIXME: update comment if (event.data.action === 'caption') { - const caption = event.data.caption; - - onCaptions(caption); + onCaptions(event.data.caption); } // wait for the transmuxed event since we may have audio and video From 0f146fb80a6bb5bdcf33bd921b70350a61e731f3 Mon Sep 17 00:00:00 2001 From: ldayananda Date: Wed, 29 Aug 2018 18:09:31 -0400 Subject: [PATCH 05/10] Use timestampOffset for full appends of ID3 tags also --- src/segment-loader.js | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/segment-loader.js b/src/segment-loader.js index d68fb649f..58485d6eb 100644 --- a/src/segment-loader.js +++ b/src/segment-loader.js @@ -1186,14 +1186,9 @@ export default class SegmentLoader extends videojs.EventTarget { return; } - // full segments appends already offset times in the transmuxer - let timestampOffset = 0; - - if (this.handlePartialData_) { - timestampOffset = this.sourceUpdater_.videoTimestampOffset() === null ? - this.sourceUpdater_.audioTimestampOffset() : - this.sourceUpdater_.videoTimestampOffset(); - } + const timestampOffset = this.sourceUpdater_.videoTimestampOffset() === null ? + this.sourceUpdater_.audioTimestampOffset() : + this.sourceUpdater_.videoTimestampOffset(); // There's potentially an issue where we could double add metadata if there's a muxed // audio/video source with a metadata track, and an alt audio with a metadata track. From e5772a5c62ef2ce97909a7a0cdb3065c2a7f8b96 Mon Sep 17 00:00:00 2001 From: ldayananda Date: Fri, 31 Aug 2018 15:13:55 -0400 Subject: [PATCH 06/10] CR comments --- .../lhls/new-segment-loader-sequence.plantuml | 28 ++++++++----------- src/media-segment-request.js | 2 +- src/segment-loader.js | 4 ++- src/segment-transmuxer.js | 20 ++++--------- 4 files changed, 21 insertions(+), 33 deletions(-) diff --git a/docs/lhls/new-segment-loader-sequence.plantuml b/docs/lhls/new-segment-loader-sequence.plantuml index 924d827cc..b2f61d86a 100644 --- a/docs/lhls/new-segment-loader-sequence.plantuml +++ b/docs/lhls/new-segment-loader-sequence.plantuml @@ -71,12 +71,20 @@ group Request start/end times. end note + "mux.js" -> "segment-transmuxer" : postMessage(...caption...) + "segment-transmuxer" -> "media-segment-request" : onCaptions(...) + "media-segment-request" -> SegmentLoader : captionsFn(...) + note left #moccasin + Passes along captions + from transmux. + end note + "mux.js" -> "segment-transmuxer" : postMessage(...id3Frame...) "segment-transmuxer" -> "media-segment-request" : onId3(...) "media-segment-request" -> SegmentLoader : id3Fn(...) note left #moccasin - Passes along metadata for - partial transmux. + Passes along metadata + from transmux. end note "mux.js" -> "segment-transmuxer" : postMessage(...data...) @@ -89,20 +97,8 @@ group Request "mux.js" -> "segment-transmuxer" : postMessage(...done...) note left - Gathers GOP info, captions, and - metadata, and calls done callback. - end note - "segment-transmuxer" -> "media-segment-request" : onId3(...) - "media-segment-request" -> SegmentLoader : id3Fn(...) - note left - Passes along metadata for full - segment transmux. - end note - "segment-transmuxer" -> "media-segment-request" : onCaptions(...) - "media-segment-request" -> SegmentLoader : captionsFn(...) - note left - Passes along captions for full - segment transmux. + Gathers GOP info, and calls + done callback. end note "segment-transmuxer" -> "media-segment-request" : onDone(...) "media-segment-request" -> SegmentLoader : doneFn(...) diff --git a/src/media-segment-request.js b/src/media-segment-request.js index 9bd3a838c..b1c29a45b 100644 --- a/src/media-segment-request.js +++ b/src/media-segment-request.js @@ -397,7 +397,7 @@ const handleSegmentBytes = ({ segment.map.videoTrackIds, segment.map.timescales); - if (parsed && parsed.captions) { + if (parsed && parsed.captions && parsed.captions.length > 0) { captionsFn(segment, parsed.captions); } diff --git a/src/segment-loader.js b/src/segment-loader.js index 58485d6eb..ba7e5210f 100644 --- a/src/segment-loader.js +++ b/src/segment-loader.js @@ -1141,7 +1141,9 @@ export default class SegmentLoader extends videojs.EventTarget { handleCaptions_(simpleSegment, captions) { if (this.checkForAbort_(simpleSegment.requestId) || this.abortRequestEarly_(simpleSegment.stats) || - !captions || captions.length === 0) { + // This could only happen with fmp4 segments, but + // should still not happen in general + captions.length === 0) { return; } diff --git a/src/segment-transmuxer.js b/src/segment-transmuxer.js index 40d2f905a..c9882d1d7 100644 --- a/src/segment-transmuxer.js +++ b/src/segment-transmuxer.js @@ -47,23 +47,16 @@ export const handleData_ = (event, transmuxedData, callback) => { }; export const handleDone_ = ({ - event, transmuxedData, - onId3, - onCaptions, callback }) => { - // all buffers should have been flushed from the muxer, so start processing anything we - // have received - let sortedSegments = { - gopInfo: transmuxedData.gopInfo, - videoTimingInfo: transmuxedData.videoTimingInfo, - audioTimingInfo: transmuxedData.audioTimingInfo - }; - + // Previously we only returned data on data events, + // not on done events. Clear out the buffer to keep that consistent. transmuxedData.buffer = []; - callback(sortedSegments); + // all buffers should have been flushed from the muxer, so start processing anything we + // have received + callback(transmuxedData); }; export const handleGopInfo_ = (event, transmuxedData) => { @@ -119,10 +112,7 @@ export const processTransmux = ({ transmuxer.removeEventListener('message', handleMessage); handleDone_({ - event, transmuxedData, - onId3, - onCaptions, callback: onDone }); From ae75a74be88725e4310c1d14f9510f4865120df2 Mon Sep 17 00:00:00 2001 From: ldayananda Date: Tue, 4 Sep 2018 17:54:00 -0400 Subject: [PATCH 07/10] Adding a pending queue for captions to handle partial append path where captions and ID3 data can be retured before video --- src/segment-loader.js | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/src/segment-loader.js b/src/segment-loader.js index ba7e5210f..2b55f6a8b 100644 --- a/src/segment-loader.js +++ b/src/segment-loader.js @@ -210,7 +210,10 @@ export default class SegmentLoader extends videojs.EventTarget { video: null }; this.callQueue_ = []; - this.id3Queue_ = []; + this.metadataQueue_ = { + id3: [], + caption: [] + }; // Fragmented mp4 playback this.activeInitSegmentId_ = null; @@ -357,7 +360,8 @@ export default class SegmentLoader extends videojs.EventTarget { // clear out the segment being processed this.pendingSegment_ = null; this.callQueue_ = []; - this.id3Queue_ = []; + this.metadataQueue_.id3 = []; + this.metadataQueue_.caption = []; } checkForAbort_(requestId) { @@ -643,7 +647,8 @@ export default class SegmentLoader extends videojs.EventTarget { this.mediaIndex = null; this.syncPoint_ = null; this.callQueue_ = []; - this.id3Queue_ = []; + this.metadataQueue_.id3 = []; + this.metadataQueue_.caption = []; this.abort(); } @@ -1149,8 +1154,11 @@ export default class SegmentLoader extends videojs.EventTarget { const segmentInfo = this.pendingSegment_; - // TODO what happens in this case? + // Wait until we have some video data so that caption timing + // can be adjusted by the timestamp offset if (!segmentInfo.hasAppendedData_) { + this.metadataQueue_.caption.push( + this.handleCaptions_.bind(this, simpleSegment, captions)); return; } @@ -1183,7 +1191,7 @@ export default class SegmentLoader extends videojs.EventTarget { // we need to have appended data in order for the timestamp offset to be set if (!segmentInfo.hasAppendedData_) { - this.id3Queue_.push( + this.metadataQueue_.id3.push( this.handleId3_.bind(this, simpleSegment, id3Frames, dispatchType)); return; } @@ -1204,11 +1212,15 @@ export default class SegmentLoader extends videojs.EventTarget { }); } - processId3Queue_(simpleSegment) { - const id3Queue = this.id3Queue_; + processMetadataQueue_(simpleSegment, type) { + if (type !== 'id3' && type !== 'caption') { + return; + } + + const queue = this.metadataQueue_[type]; - this.id3Queue_ = []; - id3Queue.forEach((fun) => fun()); + this.metadataQueue_[type] = []; + queue.forEach((fn) => fn()); } processCallQueue_() { @@ -1332,7 +1344,8 @@ export default class SegmentLoader extends videojs.EventTarget { // has had a chance to be set. segmentInfo.hasAppendedData_ = true; // Now that the timestamp offset should be set, we can append any waiting ID3 tags. - this.processId3Queue_(simpleSegment); + this.processMetadataQueue_(simpleSegment, 'id3'); + this.processMetadataQueue_(simpleSegment, 'caption'); this.appendData_(segmentInfo, result); } From 0980eaf14b11813d7eeadd69db35e0efa42fefe1 Mon Sep 17 00:00:00 2001 From: ldayananda Date: Tue, 4 Sep 2018 18:13:24 -0400 Subject: [PATCH 08/10] Fixing sequence diagram --- .../lhls/new-segment-loader-sequence.plantuml | 10 ++++------ .../new-segment-loader-sequence.plantuml.png | Bin 142136 -> 135135 bytes 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/lhls/new-segment-loader-sequence.plantuml b/docs/lhls/new-segment-loader-sequence.plantuml index b2f61d86a..9ffc75920 100644 --- a/docs/lhls/new-segment-loader-sequence.plantuml +++ b/docs/lhls/new-segment-loader-sequence.plantuml @@ -74,17 +74,15 @@ group Request "mux.js" -> "segment-transmuxer" : postMessage(...caption...) "segment-transmuxer" -> "media-segment-request" : onCaptions(...) "media-segment-request" -> SegmentLoader : captionsFn(...) - note left #moccasin - Passes along captions - from transmux. + note left + Gets captions from transmux. end note "mux.js" -> "segment-transmuxer" : postMessage(...id3Frame...) "segment-transmuxer" -> "media-segment-request" : onId3(...) "media-segment-request" -> SegmentLoader : id3Fn(...) - note left #moccasin - Passes along metadata - from transmux. + note left + Gets metadata from transmux. end note "mux.js" -> "segment-transmuxer" : postMessage(...data...) diff --git a/docs/lhls/new-segment-loader-sequence.plantuml.png b/docs/lhls/new-segment-loader-sequence.plantuml.png index a13a767d5bc06ee8b3befa912e9b2c6ee9a2cc49..9ee7ef42ef80ff02600c5431f46f1427ba59f066 100644 GIT binary patch delta 111605 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 Y^0CO}mDbP8dx(prskKSDk;lz{0fsz9^Z)<= delta 118437 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 Date: Thu, 6 Sep 2018 10:53:54 -0400 Subject: [PATCH 09/10] CR comments --- src/media-segment-request.js | 3 +-- src/segment-loader.js | 29 +++++++++++++++-------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/media-segment-request.js b/src/media-segment-request.js index b1c29a45b..5f33cb13d 100644 --- a/src/media-segment-request.js +++ b/src/media-segment-request.js @@ -177,7 +177,7 @@ const handleKeyResponse = (segment, finishProcessingFn) => (error, request) => { * this request */ const handleInitSegmentResponse = -({segment, captionParser, handlePartialData, finishProcessingFn}) => (error, request) => { +({segment, captionParser, finishProcessingFn}) => (error, request) => { const response = request.response; const errorObj = handleErrors(error, request); @@ -744,7 +744,6 @@ export const mediaSegmentRequest = ({ const initSegmentRequestCallback = handleInitSegmentResponse({ segment, captionParser, - handlePartialData, finishProcessingFn }); const initSegmentXhr = xhr(initSegmentOptions, initSegmentRequestCallback); diff --git a/src/segment-loader.js b/src/segment-loader.js index 2b55f6a8b..24ff78a3b 100644 --- a/src/segment-loader.js +++ b/src/segment-loader.js @@ -1145,10 +1145,13 @@ export default class SegmentLoader extends videojs.EventTarget { handleCaptions_(simpleSegment, captions) { if (this.checkForAbort_(simpleSegment.requestId) || - this.abortRequestEarly_(simpleSegment.stats) || - // This could only happen with fmp4 segments, but - // should still not happen in general - captions.length === 0) { + this.abortRequestEarly_(simpleSegment.stats)) { + return; + + // This could only happen with fmp4 segments, but + // should still not happen in general + } else if (captions.length === 0) { + this.logger_('SegmentLoader received no captions from a caption event'); return; } @@ -1212,15 +1215,14 @@ export default class SegmentLoader extends videojs.EventTarget { }); } - processMetadataQueue_(simpleSegment, type) { - if (type !== 'id3' && type !== 'caption') { - return; - } + processMetadataQueue_() { + const id3Queue = this.metadataQueue_.id3; + const captionQueue = this.metadataQueue_.caption; - const queue = this.metadataQueue_[type]; - - this.metadataQueue_[type] = []; - queue.forEach((fn) => fn()); + this.metadataQueue_.id3 = []; + this.metadataQueue_.caption = []; + id3Queue.forEach((fn) => fn()); + captionQueue.forEach((fn) => fn()); } processCallQueue_() { @@ -1344,8 +1346,7 @@ export default class SegmentLoader extends videojs.EventTarget { // has had a chance to be set. segmentInfo.hasAppendedData_ = true; // Now that the timestamp offset should be set, we can append any waiting ID3 tags. - this.processMetadataQueue_(simpleSegment, 'id3'); - this.processMetadataQueue_(simpleSegment, 'caption'); + this.processMetadataQueue_(); this.appendData_(segmentInfo, result); } From d75a2d0c9bd87f6776b1524182e32712e316c131 Mon Sep 17 00:00:00 2001 From: ldayananda Date: Thu, 6 Sep 2018 14:25:36 -0400 Subject: [PATCH 10/10] slight improvement to processMetadataQueue_ --- src/segment-loader.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/segment-loader.js b/src/segment-loader.js index 24ff78a3b..caf5dd0bc 100644 --- a/src/segment-loader.js +++ b/src/segment-loader.js @@ -1147,10 +1147,11 @@ export default class SegmentLoader extends videojs.EventTarget { if (this.checkForAbort_(simpleSegment.requestId) || this.abortRequestEarly_(simpleSegment.stats)) { return; + } // This could only happen with fmp4 segments, but // should still not happen in general - } else if (captions.length === 0) { + if (captions.length === 0) { this.logger_('SegmentLoader received no captions from a caption event'); return; } @@ -1216,13 +1217,11 @@ export default class SegmentLoader extends videojs.EventTarget { } processMetadataQueue_() { - const id3Queue = this.metadataQueue_.id3; - const captionQueue = this.metadataQueue_.caption; + this.metadataQueue_.id3.forEach((fn) => fn()); + this.metadataQueue_.caption.forEach((fn) => fn()); this.metadataQueue_.id3 = []; this.metadataQueue_.caption = []; - id3Queue.forEach((fn) => fn()); - captionQueue.forEach((fn) => fn()); } processCallQueue_() {