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

Player is blocked at the end of the Multi-Resolution Multi-Rate video #2593

Closed
daemon1981 opened this issue May 25, 2018 · 4 comments
Closed

Comments

@daemon1981
Copy link

daemon1981 commented May 25, 2018

Description

It happens that the player is blocked at the end of the video when user has seeked. It happens about 1 out of 3 tries.
It seems to happen when resolution/rate changes during the seek.

Environment

Bug can be reproduced on DashJS Reference Client 2.6.8 with Multi-Resolution Multi-Rate video sample provided (http://dash.akamaized.net/dash264/TestCases/2a/qualcomm/1/MultiResMPEG2.mpd) + video option Loop to false.
Browser scope : Windows 8 (Chrome and Firefox up to date), Mac 10.13.4 (Chrome and Firefox up to date)

Steps to reproduce
  1. Go to DashJS Reference Client 2.6.8
  2. Set Stream -> DASH Industry Forum Test Vectors -> Multi-Resolution Multi-Rate (http://dash.akamaized.net/dash264/TestCases/2a/qualcomm/1/MultiResMPEG2.mpd)
  3. Set option Loop to false
  4. To go fast, seek to 10 seconds before the end of the video
  5. Wait the end of the video
  6. About one out of three tries, the video is blocked one second before the end.
Observed behaviour

The video blocks one second before the end.

Console output

No console error

@aescarcha
Copy link
Contributor

aescarcha commented Jun 4, 2018

I can reproduce this on 2.6.8, but I don't see it happenng in 2.7 or nightly, @daemon1981 could you check if you can reproduce it in the newer versions?

EDIT: It happened, but it took a lot of tries.

@aescarcha
Copy link
Contributor

aescarcha commented Jun 4, 2018

I've found an issue and I think it may be related, PlaybackController.reset is removing the wallclockTimeIntervalId before the interval is cleared, this causes several WALLCLOCK_TIME_UPDATED events to be fired if you press Load multiple times. This event could force PLAYBACK_ENDED to be fired early or multiple times

Opening a PR for that

https://github.com/Dash-Industry-Forum/dash.js/blob/development/src/streaming/controllers/PlaybackController.js#L225

@daemon1981
Copy link
Author

Thanks a lot for trying to debug this issue. Unfortunately I've got the same issue from your branch aescarcha:fixPlaybackControllerReset.

Here below a screenshot of the bug :

image

The video stops one second before the end.

Here is the console.log outputs constantly repeating:

Jumping media gap (discontinuity) at time  653.974363 . Jumping to end of the stream
StreamController no next stream found 

@aescarcha
Copy link
Contributor

Should be fixed in #2622, could you check?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants