Skip to content

Commit d3de08f

Browse files
authored
refactor: replace global dashjs.FactoryMaker with ES6 imports (#4890)
Replace all usages of the global `dashjs.FactoryMaker` with proper ES6 module imports across 6 core files. This harmonizes the import pattern with the rest of the codebase and improves module compatibility when dash.js is used as an ES6 module in modern build tools. This prevents issues when: - Importing modules directly without the main entry point - Using tree-shaking in modern bundlers - Integrating dash.js in codebases with strict ES6 module requirements
1 parent c767994 commit d3de08f

File tree

6 files changed

+20
-14
lines changed

6 files changed

+20
-14
lines changed

src/mss/MssHandler.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import MssParser from './parser/MssParser.js';
3737
import MssErrors from './errors/MssErrors.js';
3838
import DashJSError from '../streaming/vo/DashJSError.js';
3939
import {HTTPRequest} from '../streaming/vo/metrics/HTTPRequest.js';
40+
import FactoryMaker from '../core/FactoryMaker.js';
4041

4142
function MssHandler(config) {
4243

@@ -206,10 +207,10 @@ function MssHandler(config) {
206207
}
207208

208209
function registerEvents() {
209-
eventBus.on(events.INIT_FRAGMENT_NEEDED, onInitFragmentNeeded, instance, { priority: dashjs.FactoryMaker.getSingletonFactoryByName(eventBus.getClassName()).EVENT_PRIORITY_HIGH });
210-
eventBus.on(events.PLAYBACK_PAUSED, onPlaybackPaused, instance, { priority: dashjs.FactoryMaker.getSingletonFactoryByName(eventBus.getClassName()).EVENT_PRIORITY_HIGH });
211-
eventBus.on(events.PLAYBACK_SEEKING, onPlaybackSeeking, instance, { priority: dashjs.FactoryMaker.getSingletonFactoryByName(eventBus.getClassName()).EVENT_PRIORITY_HIGH });
212-
eventBus.on(events.FRAGMENT_LOADING_COMPLETED, onSegmentMediaLoaded, instance, { priority: dashjs.FactoryMaker.getSingletonFactoryByName(eventBus.getClassName()).EVENT_PRIORITY_HIGH });
210+
eventBus.on(events.INIT_FRAGMENT_NEEDED, onInitFragmentNeeded, instance, { priority: FactoryMaker.getSingletonFactoryByName(eventBus.getClassName()).EVENT_PRIORITY_HIGH });
211+
eventBus.on(events.PLAYBACK_PAUSED, onPlaybackPaused, instance, { priority: FactoryMaker.getSingletonFactoryByName(eventBus.getClassName()).EVENT_PRIORITY_HIGH });
212+
eventBus.on(events.PLAYBACK_SEEKING, onPlaybackSeeking, instance, { priority: FactoryMaker.getSingletonFactoryByName(eventBus.getClassName()).EVENT_PRIORITY_HIGH });
213+
eventBus.on(events.FRAGMENT_LOADING_COMPLETED, onSegmentMediaLoaded, instance, { priority: FactoryMaker.getSingletonFactoryByName(eventBus.getClassName()).EVENT_PRIORITY_HIGH });
213214
eventBus.on(events.TTML_TO_PARSE, onTTMLPreProcess, instance);
214215
}
215216

@@ -247,7 +248,7 @@ function MssHandler(config) {
247248
}
248249

249250
MssHandler.__dashjs_factory_name = 'MssHandler';
250-
const factory = dashjs.FactoryMaker.getClassFactory(MssHandler);
251+
const factory = FactoryMaker.getClassFactory(MssHandler);
251252
factory.errors = MssErrors;
252-
dashjs.FactoryMaker.updateClassFactory(MssHandler.__dashjs_factory_name, factory);
253+
FactoryMaker.updateClassFactory(MssHandler.__dashjs_factory_name, factory);
253254
export default factory;

src/offline/OfflineStreamProcessor.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import FragmentModel from '../streaming/models/FragmentModel.js';
3434
import FragmentLoader from '../streaming/FragmentLoader.js';
3535
import URLUtils from '../streaming/utils/URLUtils.js';
3636
import SegmentsController from '../dash/controllers/SegmentsController.js';
37+
import FactoryMaker from '../core/FactoryMaker.js';
3738

3839
function OfflineStreamProcessor(config) {
3940

@@ -379,5 +380,5 @@ function OfflineStreamProcessor(config) {
379380
}
380381

381382
OfflineStreamProcessor.__dashjs_factory_name = 'OfflineStreamProcessor';
382-
const factory = dashjs.FactoryMaker.getClassFactory(OfflineStreamProcessor);
383+
const factory = FactoryMaker.getClassFactory(OfflineStreamProcessor);
383384
export default factory;

src/offline/controllers/OfflineController.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import OfflineUrlUtils from '../utils/OfflineUrlUtils.js';
3737
import OfflineEvents from '../events/OfflineEvents.js';
3838
import OfflineErrors from '../errors/OfflineErrors.js';
3939
import OfflineRecord from '../vo/OfflineDownloadVo.js';
40+
import FactoryMaker from '../../core/FactoryMaker.js';
4041

4142
/**
4243
* @module OfflineController
@@ -383,8 +384,8 @@ function OfflineController(config) {
383384
}
384385

385386
OfflineController.__dashjs_factory_name = 'OfflineController';
386-
const factory = dashjs.FactoryMaker.getClassFactory(OfflineController);
387+
const factory = FactoryMaker.getClassFactory(OfflineController);
387388
factory.events = OfflineEvents;
388389
factory.errors = OfflineErrors;
389-
dashjs.FactoryMaker.updateClassFactory(OfflineController.__dashjs_factory_name, factory);
390+
FactoryMaker.updateClassFactory(OfflineController.__dashjs_factory_name, factory);
390391
export default factory;

src/offline/net/IndexDBOfflineLoader.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
* POSSIBILITY OF SUCH DAMAGE.
3030
*/
3131
import IndexDBStore from '../storage/IndexDBStore.js';
32+
import FactoryMaker from '../../core/FactoryMaker.js';
3233

3334
function IndexDBOfflineLoader(config) {
3435
config = config || {};
@@ -100,5 +101,5 @@ function IndexDBOfflineLoader(config) {
100101
}
101102

102103
IndexDBOfflineLoader.__dashjs_factory_name = 'IndexDBOfflineLoader';
103-
const factory = dashjs.FactoryMaker.getClassFactory(IndexDBOfflineLoader);
104+
const factory = FactoryMaker.getClassFactory(IndexDBOfflineLoader);
104105
export default factory;

src/streaming/metrics/MetricsReporting.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import MetricsReportingEvents from './MetricsReportingEvents.js';
3434
import MetricsCollectionController from './controllers/MetricsCollectionController.js';
3535
import MetricsHandlerFactory from './metrics/MetricsHandlerFactory.js';
3636
import ReportingFactory from './reporting/ReportingFactory.js';
37+
import FactoryMaker from '../../core/FactoryMaker.js';
3738

3839
function MetricsReporting() {
3940

@@ -83,7 +84,7 @@ function MetricsReporting() {
8384
}
8485

8586
MetricsReporting.__dashjs_factory_name = 'MetricsReporting';
86-
const factory = dashjs.FactoryMaker.getClassFactory(MetricsReporting);
87+
const factory = FactoryMaker.getClassFactory(MetricsReporting);
8788
factory.events = MetricsReportingEvents;
88-
dashjs.FactoryMaker.updateClassFactory(MetricsReporting.__dashjs_factory_name, factory);
89+
FactoryMaker.updateClassFactory(MetricsReporting.__dashjs_factory_name, factory);
8990
export default factory;

src/streaming/protection/Protection.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import ProtectionErrors from './errors/ProtectionErrors.js';
3535
import DefaultProtectionModel from './models/DefaultProtectionModel.js';
3636
import ProtectionModel_3Feb2014 from './models/ProtectionModel_3Feb2014.js';
3737
import ProtectionModel_01b from './models/ProtectionModel_01b.js';
38+
import FactoryMaker from '../../core/FactoryMaker.js';
3839

3940
const APIS_ProtectionModel_01b = [
4041
// Un-prefixed as per spec
@@ -200,8 +201,8 @@ function Protection() {
200201
}
201202

202203
Protection.__dashjs_factory_name = 'Protection';
203-
const factory = dashjs.FactoryMaker.getClassFactory(Protection);
204+
const factory = FactoryMaker.getClassFactory(Protection);
204205
factory.events = ProtectionEvents;
205206
factory.errors = ProtectionErrors;
206-
dashjs.FactoryMaker.updateClassFactory(Protection.__dashjs_factory_name, factory);
207+
FactoryMaker.updateClassFactory(Protection.__dashjs_factory_name, factory);
207208
export default factory;

0 commit comments

Comments
 (0)