Skip to content

Commit

Permalink
Update native-adapter.js (#751)
Browse files Browse the repository at this point in the history
* Update native-adapter.js

* Update base-media-source-adapter.js

* Update player.js

* Update player.js

* Update native-adapter.js

* Update base-media-source-adapter.js
  • Loading branch information
MosheMaorKaltura authored Jan 10, 2024
1 parent 3947c49 commit 0e2625a
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 11 deletions.
12 changes: 2 additions & 10 deletions src/engines/html5/media-source/adapters/native-adapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,6 @@ export default class NativeAdapter extends BaseMediaSourceAdapter {

_waitingEventTriggered: ?boolean = false;

_wasCurrentTimeSetSuccessfully: boolean;

_segmentDuration: number = 0;

_startTimeOfDvrWindowInterval: IntervalID;
Expand Down Expand Up @@ -335,7 +333,6 @@ export default class NativeAdapter extends BaseMediaSourceAdapter {
* @returns {Promise<Object>} - The loaded data
*/
load(startTime: ?number): Promise<Object> {
this._wasCurrentTimeSetSuccessfully = false;
this._maybeSetDrmPlayback();
if (!this._loadPromise) {
this._loadPromise = new Promise((resolve, reject) => {
Expand Down Expand Up @@ -539,8 +536,8 @@ export default class NativeAdapter extends BaseMediaSourceAdapter {
this._handleLiveDurationChange();
}
};
if (!this.isLive()) {
this._setStartTime(startTime);
if (startTime !== undefined && startTime > -1) {
this._videoElement.currentTime = startTime;
}
if (this._videoElement.textTracks.length > 0) {
parseTracksAndResolve();
Expand All @@ -554,7 +551,6 @@ export default class NativeAdapter extends BaseMediaSourceAdapter {
if (typeof startTime === 'number' && startTime > -1) {
this._videoElement.currentTime = startTime;
}
this._wasCurrentTimeSetSuccessfully = true;
}

_onTimeUpdate(): void {
Expand Down Expand Up @@ -1250,10 +1246,6 @@ export default class NativeAdapter extends BaseMediaSourceAdapter {
return this._videoElement.duration === Infinity;
}

isOnLiveEdge(): boolean {
return this._wasCurrentTimeSetSuccessfully ? super.isOnLiveEdge() : false;
}

/**
* Handling live duration change (as safari doesn't trigger durationchange event on live playback)
* @function _handleLiveDurationChange
Expand Down
3 changes: 3 additions & 0 deletions src/engines/html5/media-source/base-media-source-adapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,9 @@ export default class BaseMediaSourceAdapter extends FakeEventTarget implements I
}

isOnLiveEdge(): boolean {
if(this.getSegmentDuration()===0){
return true;
}
return this.liveDuration - this._videoElement.currentTime <= this.getSegmentDuration() * CURRENT_OR_NEXT_SEGMENT_COUNT;
}

Expand Down
2 changes: 1 addition & 1 deletion src/player.js
Original file line number Diff line number Diff line change
Expand Up @@ -2249,7 +2249,7 @@ export default class Player extends FakeEventTarget {
if (!this._firstPlay) {
return outOfDvr;
} else {
return !!this.src && !this.isOnLiveEdge();
return (!!this.src && !this.isOnLiveEdge() && this._sources.startTime === undefined);
}
}
return false;
Expand Down

0 comments on commit 0e2625a

Please sign in to comment.