-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(FEC-11136): Tizen 4 got stuck on the beginning of the media #140
Conversation
…artTV Issue: Tizen 4 has stalls on the beginning of the media/after first seek we want to make sure the media wouldn't stop. Solution: make a small seeks until playback keeps playing.
src/dash-adapter.js
Outdated
let lastCurrentTime = this._videoElement.currentTime; | ||
this._stallInterval = setInterval(() => { | ||
if (lastCurrentTime === this._videoElement.currentTime) { | ||
this._videoElement.currentTime = parseFloat(this._videoElement.currentTime.toFixed(1)) + 0.1; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
move 0.1 to const, maybe expose as config?
src/dash-adapter.js
Outdated
} else { | ||
this._clearStallInterval(); | ||
} | ||
}, 2 * 1000); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
move to const, maybe expose as config?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't want to do it too robust cause I believe we need to handle it on Shaka, WDYT?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To create 3 configs for hack we're adding for edge case that we won't need anymore after Shaka will handle it, it sounds too robust, don't you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
agree, let's start lean, but please move to consts and we will hope Shaka will approve this :-)
src/dash-adapter.js
Outdated
this._eventManager.listenOnce(EventType.STALLED, this._stallSmartTVHandler); | ||
this._eventManager.listenOnce(EventType.SEEKED, this._stallSmartTVHandler); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we need/want to remove them after one handler is called?
If stalled occurred we can remove seeked and vide versa?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I clear the stall interval if it's not stopped for each one of them.
Yes, the issue that we saw occur only on the beginning.
src/dash-adapter.js
Outdated
_stallInterval: ?IntervalID = null; | ||
|
||
/** | ||
* stall interval to break the stall on Smart TV |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix desc
src/dash-adapter.js
Outdated
*/ | ||
_maybeBreakStalls(): void { | ||
if (this._config.forceBreakStall) { | ||
this._eventManager.listenOnce(this._videoElement, EventType.STALLED, () => this._stallSmartTVHandler()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so you want to keep it once only?
Description of the Changes
Issue: Tizen 4 has stalled on the beginning of the media/after first seek we want to make sure the media wouldn't stop.
Solution: make a small seeks until playback keeps playing.
CheckLists