Skip to content

Commit

Permalink
Initialize box processors when MSS content is actually being played (#…
Browse files Browse the repository at this point in the history
…4147)

* Initialize box processors when MSS content is actually being played

* Fix unit tests

* Move MssFragmentProcessor.js intialization to ManifestLoader check

* Provide config object to MssFragmentProcessor
  • Loading branch information
dsilhavy committed Mar 21, 2023
1 parent 935b20d commit a3c6bab
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 19 deletions.
4 changes: 2 additions & 2 deletions src/mss/MssFragmentProcessor.js
Expand Up @@ -175,8 +175,8 @@ function MssFragmentProcessor(config) {
}

instance = {
generateMoov: generateMoov,
processFragment: processFragment
generateMoov,
processFragment
};

setup();
Expand Down
27 changes: 10 additions & 17 deletions src/mss/MssHandler.js
Expand Up @@ -46,29 +46,21 @@ function MssHandler(config) {
const events = config.events;
const constants = config.constants;
const initSegmentType = config.initSegmentType;
const dashMetrics = config.dashMetrics;
const playbackController = config.playbackController;
const streamController = config.streamController;
const protectionController = config.protectionController;
const mssFragmentProcessor = MssFragmentProcessor(context).create({
dashMetrics: dashMetrics,
playbackController: playbackController,
protectionController: protectionController,
streamController: streamController,
eventBus: eventBus,
constants: constants,
ISOBoxer: config.ISOBoxer,
debug: config.debug,
errHandler: config.errHandler
});
let mssParser,
mssFragmentProcessor,
fragmentInfoControllers,
instance;

function setup() {
fragmentInfoControllers = [];
}

function createMssFragmentProcessor() {
mssFragmentProcessor = MssFragmentProcessor(context).create(config);
}

function getStreamProcessor(type) {
return streamController.getActiveStreamProcessors().filter(processor => {
return processor.getType() === type;
Expand Down Expand Up @@ -166,7 +158,7 @@ function MssHandler(config) {
}

function onSegmentMediaLoaded(e) {
if (e.error) return;
if (e.error) return;

let streamProcessor = getStreamProcessor(e.request.mediaType);
if (!streamProcessor) return;
Expand Down Expand Up @@ -239,9 +231,10 @@ function MssHandler(config) {
}

instance = {
reset: reset,
createMssParser: createMssParser,
registerEvents: registerEvents
reset,
createMssParser,
createMssFragmentProcessor,
registerEvents
};

setup();
Expand Down
1 change: 1 addition & 0 deletions src/streaming/ManifestLoader.js
Expand Up @@ -98,6 +98,7 @@ function ManifestLoader(config) {
//do some business to transform it into a Dash Manifest
if (mssHandler) {
parser = mssHandler.createMssParser();
mssHandler.createMssFragmentProcessor();
mssHandler.registerEvents();
}
return parser;
Expand Down

0 comments on commit a3c6bab

Please sign in to comment.