-
Notifications
You must be signed in to change notification settings - Fork 257
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
after postoll, seek to end #137
Conversation
@@ -113,12 +114,14 @@ var | |||
updateEnded = function() { | |||
ended = true; | |||
}; | |||
player.currentTime(snapshot.currentTime); |
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 snapshot.currentTime
was not returning the actual video duration in some cases before a postroll? Any details on where/why this was occurring?
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.
This seems really strange to me. It may address the issue, but it doesn't feel like the right path. It seems counter-intuitive that currentTime
would be different after an ad. Could this be exposing an issue in HLS/MSE? Has this been tried with a plain old MP4?
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.
This is in fact caused by an issue with duration reporting in HLS/MSE. In this case, the duration() is returning slightly different inconsistent values throughout the content playback (and after each content reload) .
I did try this with plain mp4 content, and the issue does not occur.
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.
Reporting duration can be trickier with MSE or segmented file formats since accurate duration information is only available once a good portion of the video has been buffered. That has been the case anytime we play HLS though and this is the first time I've heard of this. Is it a bug in the new version of contrib-hls, a bug/fact-of-life with MSE, or reasonable behavior that contrib-ads needs to account for?
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.
If this is a fact of life with MSE, I wonder if there ought to be some detection of the type of source in the player or an explicit option that flags the player as using a segmented format.
I believe this issue is no longer relevant due to fixes that were added to |
Sometimes
snapshot.currentTime
is just slightly bigger than the actual reported duration, and restoring to that raw value will cause the player to hang in a loading state.