Skip to content

Commit

Permalink
Removed unnecessary method in all media files, and added missing bind…
Browse files Browse the repository at this point in the history
…ings; fixex #284
  • Loading branch information
rafa8626 committed Feb 16, 2022
1 parent c439b39 commit e7fa546
Show file tree
Hide file tree
Showing 11 changed files with 139 additions and 167 deletions.
22 changes: 10 additions & 12 deletions dist/esm/media/dash.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,15 @@ class DashMedia extends Native {
_DashMedia_events.set(this, {});
_DashMedia_options.set(this, {});
__classPrivateFieldSet(this, _DashMedia_options, options, "f");
this._assign = this._assign.bind(this);
this._preparePlayer = this._preparePlayer.bind(this);
this.promise =
typeof dashjs === 'undefined'
?
loadScript('https://cdn.dashjs.org/latest/dash.all.min.js')
: new Promise((resolve) => {
resolve({});
});
this._assign = this._assign.bind(this);
this.promise.then(() => {
__classPrivateFieldSet(this, _DashMedia_player, dashjs.MediaPlayer().create(), "f");
this.instance = __classPrivateFieldGet(this, _DashMedia_player, "f");
Expand All @@ -51,11 +52,17 @@ class DashMedia extends Native {
}
}
destroy() {
this._revoke();
if (__classPrivateFieldGet(this, _DashMedia_events, "f")) {
Object.keys(__classPrivateFieldGet(this, _DashMedia_events, "f")).forEach((event) => {
__classPrivateFieldGet(this, _DashMedia_player, "f").off(__classPrivateFieldGet(this, _DashMedia_events, "f")[event], this._assign);
});
__classPrivateFieldSet(this, _DashMedia_events, [], "f");
}
__classPrivateFieldGet(this, _DashMedia_player, "f").reset();
}
set src(media) {
if (isDashSource(media)) {
this._revoke();
this.destroy();
__classPrivateFieldSet(this, _DashMedia_player, dashjs.MediaPlayer().create(), "f");
this._preparePlayer();
__classPrivateFieldGet(this, _DashMedia_player, "f").attachSource(media.src);
Expand Down Expand Up @@ -113,15 +120,6 @@ class DashMedia extends Native {
this.element.dispatchEvent(e);
}
}
_revoke() {
if (__classPrivateFieldGet(this, _DashMedia_events, "f")) {
Object.keys(__classPrivateFieldGet(this, _DashMedia_events, "f")).forEach((event) => {
__classPrivateFieldGet(this, _DashMedia_player, "f").off(__classPrivateFieldGet(this, _DashMedia_events, "f")[event], this._assign);
});
__classPrivateFieldSet(this, _DashMedia_events, [], "f");
}
__classPrivateFieldGet(this, _DashMedia_player, "f").reset();
}
_preparePlayer() {
__classPrivateFieldGet(this, _DashMedia_player, "f").updateSettings(Object.assign({ debug: {
logLevel: dashjs.Debug.LOG_LEVEL_NONE,
Expand Down
12 changes: 5 additions & 7 deletions dist/esm/media/flv.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,15 @@ class FlvMedia extends Native {
__classPrivateFieldSet(this, _FlvMedia_options, options, "f");
this.element = element;
this.media = mediaSource;
this._create = this._create.bind(this);
this._assign = this._assign.bind(this);
this.promise =
typeof flvjs === 'undefined'
?
loadScript('https://cdn.jsdelivr.net/npm/flv.js@latest/dist/flv.min.js')
: new Promise((resolve) => {
resolve({});
});
this._create = this._create.bind(this);
this.promise.then(this._create);
return this;
}
Expand All @@ -63,11 +64,12 @@ class FlvMedia extends Native {
}
}
destroy() {
this._revoke();
__classPrivateFieldGet(this, _FlvMedia_player, "f").destroy();
__classPrivateFieldSet(this, _FlvMedia_player, null, "f");
}
set src(media) {
if (isFlvSource(media)) {
this._revoke();
this.destroy();
this._create();
}
}
Expand Down Expand Up @@ -123,10 +125,6 @@ class FlvMedia extends Native {
this.element.dispatchEvent(e);
}
}
_revoke() {
__classPrivateFieldGet(this, _FlvMedia_player, "f").destroy();
__classPrivateFieldSet(this, _FlvMedia_player, null, "f");
}
}
_FlvMedia_player = new WeakMap(), _FlvMedia_events = new WeakMap(), _FlvMedia_options = new WeakMap();
export default FlvMedia;
41 changes: 19 additions & 22 deletions dist/esm/media/hls.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,17 @@ class HlsMedia extends Native {
this.element = element;
this.media = mediaSource;
__classPrivateFieldSet(this, _HlsMedia_autoplay, autoplay, "f");
this._create = this._create.bind(this);
this._play = this._play.bind(this);
this._pause = this._pause.bind(this);
this._assign = this._assign.bind(this);
this.promise =
typeof Hls === 'undefined'
?
loadScript('https://cdn.jsdelivr.net/npm/hls.js@latest/dist/hls.min.js')
: new Promise((resolve) => {
resolve({});
});
this._create = this._create.bind(this);
this._revoke = this._revoke.bind(this);
this._play = this._play.bind(this);
this._pause = this._pause.bind(this);
this.promise.then(this._create);
return this;
}
Expand All @@ -60,11 +60,24 @@ class HlsMedia extends Native {
}
}
destroy() {
this._revoke();
if (__classPrivateFieldGet(this, _HlsMedia_player, "f")) {
__classPrivateFieldGet(this, _HlsMedia_player, "f").stopLoad();
}
if (__classPrivateFieldGet(this, _HlsMedia_events, "f")) {
Object.keys(__classPrivateFieldGet(this, _HlsMedia_events, "f")).forEach((event) => {
__classPrivateFieldGet(this, _HlsMedia_player, "f").off(__classPrivateFieldGet(this, _HlsMedia_events, "f")[event], (...args) => this._assign(__classPrivateFieldGet(this, _HlsMedia_events, "f")[event], args));
});
}
this.element.removeEventListener('play', this._play);
this.element.removeEventListener('pause', this._pause);
if (__classPrivateFieldGet(this, _HlsMedia_player, "f")) {
__classPrivateFieldGet(this, _HlsMedia_player, "f").destroy();
__classPrivateFieldSet(this, _HlsMedia_player, null, "f");
}
}
set src(media) {
if (isHlsSource(media)) {
this._revoke();
this.destroy();
__classPrivateFieldSet(this, _HlsMedia_player, new Hls(__classPrivateFieldGet(this, _HlsMedia_options, "f")), "f");
__classPrivateFieldGet(this, _HlsMedia_player, "f").loadSource(media.src);
__classPrivateFieldGet(this, _HlsMedia_player, "f").attachMedia(this.element);
Expand Down Expand Up @@ -182,22 +195,6 @@ class HlsMedia extends Native {
this.element.dispatchEvent(e);
}
}
_revoke() {
if (__classPrivateFieldGet(this, _HlsMedia_player, "f")) {
__classPrivateFieldGet(this, _HlsMedia_player, "f").stopLoad();
}
if (__classPrivateFieldGet(this, _HlsMedia_events, "f")) {
Object.keys(__classPrivateFieldGet(this, _HlsMedia_events, "f")).forEach((event) => {
__classPrivateFieldGet(this, _HlsMedia_player, "f").off(__classPrivateFieldGet(this, _HlsMedia_events, "f")[event], (...args) => this._assign(__classPrivateFieldGet(this, _HlsMedia_events, "f")[event], args));
});
}
this.element.removeEventListener('play', this._play);
this.element.removeEventListener('pause', this._pause);
if (__classPrivateFieldGet(this, _HlsMedia_player, "f")) {
__classPrivateFieldGet(this, _HlsMedia_player, "f").destroy();
__classPrivateFieldSet(this, _HlsMedia_player, null, "f");
}
}
_play() {
if (__classPrivateFieldGet(this, _HlsMedia_player, "f")) {
__classPrivateFieldGet(this, _HlsMedia_player, "f").startLoad();
Expand Down
Loading

0 comments on commit e7fa546

Please sign in to comment.