fix(core): rename MediaDelegateMixin and MediaProxyMixin (#976)

This commit is contained in:
Wesley Luyten
2026-03-16 18:32:00 -05:00
committed by GitHub
parent c8bba26fb3
commit 561d03eb5a
7 changed files with 39 additions and 55 deletions
+5 -12
View File
@@ -1,10 +1,10 @@
import * as dashjs from 'dashjs';
import { type MediaDelegate, MediaDelegateMixin } from '../../../core/media/delegate';
import { MediaProxyMixin } from '../../../core/media/proxy';
import { type Delegate, DelegateMixin } from '../../../core/media/delegate';
import { CustomMediaMixin } from '../custom-media-element';
import { MediaProxyMixin } from '../proxy';
export class DashMediaDelegateBase implements MediaDelegate {
export class DashMediaDelegateBase implements Delegate {
#engine: dashjs.MediaPlayerClass;
constructor() {
@@ -39,17 +39,10 @@ export class DashMediaDelegateBase implements MediaDelegate {
}
// This is used by the web component because it needs to extend HTMLElement!
export class DashCustomMedia extends MediaDelegateMixin(
export class DashCustomMedia extends DelegateMixin(
CustomMediaMixin(globalThis.HTMLElement ?? class {}, { tag: 'video' }),
DashMediaDelegateBase
) {}
// This is used by the React component.
export class DashMedia extends MediaDelegateMixin(
MediaProxyMixin(
globalThis.HTMLVideoElement ?? class {},
globalThis.HTMLMediaElement ?? class {},
globalThis.EventTarget ?? class {}
),
DashMediaDelegateBase
) {}
export class DashMedia extends DelegateMixin(MediaProxyMixin, DashMediaDelegateBase) {}
+5 -12
View File
@@ -1,8 +1,8 @@
import Hls from 'hls.js';
import { type MediaDelegate, MediaDelegateMixin } from '../../../core/media/delegate';
import { MediaProxyMixin } from '../../../core/media/proxy';
import { type Delegate, DelegateMixin } from '../../../core/media/delegate';
import { CustomMediaMixin } from '../custom-media-element';
import { MediaProxyMixin } from '../proxy';
import { HlsMediaTextTracksMixin } from './text-tracks';
const defaultConfig = {
@@ -13,7 +13,7 @@ const defaultConfig = {
capLevelOnFPSDrop: true,
};
export class HlsMediaDelegateBase implements MediaDelegate {
export class HlsMediaDelegateBase implements Delegate {
#engine = Hls.isSupported() ? new Hls(defaultConfig) : null;
get engine(): Hls | null {
@@ -44,17 +44,10 @@ export class HlsMediaDelegateBase implements MediaDelegate {
const HlsMediaDelegate = HlsMediaTextTracksMixin(HlsMediaDelegateBase);
// This is used by the web component because it needs to extend HTMLElement!
export class HlsCustomMedia extends MediaDelegateMixin(
export class HlsCustomMedia extends DelegateMixin(
CustomMediaMixin(globalThis.HTMLElement ?? class {}, { tag: 'video' }),
HlsMediaDelegate
) {}
// This is used by the React component.
export class HlsMedia extends MediaDelegateMixin(
MediaProxyMixin(
globalThis.HTMLVideoElement ?? class {},
globalThis.HTMLMediaElement ?? class {},
globalThis.EventTarget ?? class {}
),
HlsMediaDelegate
) {}
export class HlsMedia extends DelegateMixin(MediaProxyMixin, HlsMediaDelegate) {}
+7
View File
@@ -0,0 +1,7 @@
import { ProxyMixin } from '../../core/media/proxy';
export const MediaProxyMixin = ProxyMixin(
globalThis.HTMLVideoElement ?? class {},
globalThis.HTMLMediaElement ?? class {},
globalThis.EventTarget ?? class {}
);
@@ -1,20 +1,13 @@
import { SpfMedia as SpfMediaDelegate } from '@videojs/spf/dom';
import { MediaDelegateMixin } from '../../../core/media/delegate';
import { MediaProxyMixin } from '../../../core/media/proxy';
import { DelegateMixin } from '../../../core/media/delegate';
import { CustomMediaMixin } from '../custom-media-element';
import { MediaProxyMixin } from '../proxy';
// This is used by the web component because it needs to extend HTMLElement!
export class SimpleHlsCustomMedia extends MediaDelegateMixin(
export class SimpleHlsCustomMedia extends DelegateMixin(
CustomMediaMixin(globalThis.HTMLElement ?? class {}, { tag: 'video' }),
SpfMediaDelegate
) {}
// This is used by the React component.
export class SimpleHlsMedia extends MediaDelegateMixin(
MediaProxyMixin(
globalThis.HTMLVideoElement ?? class {},
globalThis.HTMLMediaElement ?? class {},
globalThis.EventTarget ?? class {}
),
SpfMediaDelegate
) {}
export class SimpleHlsMedia extends DelegateMixin(MediaProxyMixin, SpfMediaDelegate) {}