Skip to content
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

Replay doesn't work after seeking to duration #1014

Closed
yairans opened this issue Sep 7, 2017 · 10 comments
Closed

Replay doesn't work after seeking to duration #1014

yairans opened this issue Sep 7, 2017 · 10 comments
Assignees
Labels
status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Milestone

Comments

@yairans
Copy link

yairans commented Sep 7, 2017

Have you read the FAQ and checked for duplicate issues: Yes

What version of Shaka Player are you using: Latest (v2.2.1)

Can you reproduce the issue with our latest release version: Yes

Are you using the demo app or your own custom app: demo app

What browser and OS are you using: chrome 60 macOS sierra 10.12

What are the manifest and license server URIs:
https://storage.googleapis.com/shaka-demo-assets/angel-one/dash.mpd

What did you do?
Load
Select the video tag in the elements tab in chrome dev tools
paste in the console: $0.currentTime = $0.duration

What did you expect to happen?
Replay should work in the first time

What actually happened?
Replay doesn't work in the first time until tapping replay again.
sometimes getting error 3015

@vaage vaage added needs triage type: bug Something isn't working correctly and removed needs triage labels Sep 7, 2017
@vaage vaage self-assigned this Sep 7, 2017
@vaage
Copy link
Contributor

vaage commented Sep 7, 2017

@yairans, thank you for brining this to our attention. I have successfully repo the issue and will start working on a fix.

@joeyparrish joeyparrish added this to the v2.3.0 milestone Sep 12, 2017
@vaage vaage reopened this Sep 19, 2017
@vaage
Copy link
Contributor

vaage commented Sep 19, 2017

When prepping examples for reporting bugs I found that there seems to be some problems with our code which is causing some problems on Firefox.

So if I set the current time to duration on raw HTML 5 video element, there are no problems, but when I do it with shaka player, Shaka player is failing an assert.

I am reopening this until I have a more in-depth explanation of what it happening.

shaka-bot pushed a commit that referenced this issue Sep 19, 2017
This reverts commit ffa46a2.

Reason for revert: This does not fix the problem. It only adds another layer of code. When we remove Shaka Player and go down to the basic web classes, this problem does not exist.

Change-Id: I63b4050bf83287a18a045658d16b3163780b5ff2
@OrenMe
Copy link
Contributor

OrenMe commented Oct 3, 2017

Hi @vaage did you happen to get some more info on the issue?

@vaage
Copy link
Contributor

vaage commented Oct 3, 2017

@OrenMe Still working on this issue but have not been able to put much time into it over the last week. I do not have anything new to report.

@OrenMe
Copy link
Contributor

OrenMe commented Oct 3, 2017

Thanks @vaage

@vaage
Copy link
Contributor

vaage commented Oct 9, 2017

@OrenMe I was able to put some time into this today. I was able to address some problems with seeking to duration on Firefox, but it does not resolve the problems you and @yairans are interested in.

Working with raw Media Source, I was able to get behavior closer to what @yairans asked for so I believe the problem is in shaka.media.StreamingEngine. However this is the most complicated class in the project. I will need to sit down with @joeyparrish when he is back in the office to discuss how we want to handle this issue.

@joeyparrish
Copy link
Member

We have decided to limit seeking to duration. When a user seeks to a time >= duration (or selects a playback start time >= duration), we will seek to some fixed distance before the duration instead.

This seems to be the only consistent cross-browser solution, and it is consistent with behavior we have seen in other applications.

@joeyparrish joeyparrish self-assigned this Dec 4, 2017
@OrenMe
Copy link
Contributor

OrenMe commented Dec 4, 2017

@joeyparrish this means that seek won't be accurate? if we take this to UX - if I implement a scrubber and user scrubs near the end the scrubber will jump to the that fixed distance you are setting?

@joeyparrish
Copy link
Member

It will be accurate as long as the seek position is strictly less than duration. If the seek position is equal to or greater than duration, we will bump it back by one second. This will only affect VOD content, and the amount we bump it back will be configurable.

You can also do this in your video controls as a workaround.

@joeyparrish
Copy link
Member

Fix cherry-picked for v2.2.8.

joeyparrish added a commit that referenced this issue Dec 5, 2017
Seeking to or starting playback at the duration does not work well
across browsers.  Any seek or startup time at or past the duration of
VOD or IPR content will be bumped back by a configurable amount
(default 1s).

Closes #1014
Bug: 69874888

Change-Id: I6d21ecd8e211f0f823a093b8eb8b95d329b4385f
@shaka-project shaka-project locked and limited conversation to collaborators Mar 22, 2018
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Apr 15, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Projects
None yet
Development

No branches or pull requests

5 participants