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

Playing unexpectedly stops before end #1258

Closed
theifish opened this issue Mar 18, 2016 · 16 comments
Closed

Playing unexpectedly stops before end #1258

theifish opened this issue Mar 18, 2016 · 16 comments
Assignees
Milestone

Comments

@theifish
Copy link

I'm trying to implement mpeg-dash support in my player with Dash.js library, it works well, however, sometimes it stops playing unexpectedly on 5-15 seconds before end (number of seconds ranges randomly).
MediaPlayer has default settings, nothing were changed.

I have no idea what to do with it. See logs attached.

dash-log.txt

@dsparacio
Copy link
Contributor

What about an MPD file that shows this behavior, are you able to post publicly?

@dsparacio
Copy link
Contributor

Also maybe just do a quick test to see if the same on the nightly build. I notice some old log lines that have been removed recently

http://dashif.org/reference/players/javascript/nightly/dash.js/samples/dash-if-reference-player/index.html

@theifish
Copy link
Author

I've update the lib to the latest, the same issue found.
Not sure that I can publish my MPD, I can send you privately.

BTW, I use playlist in my player and set new source with dashPlayer.attachSource(src)

Here is the init of the MediaPlayer:

dashPlayer = new window.dashjs.MediaPlayer({}).create()
dashPlayer.initialize()
dashPlayer.setAutoPlay(false)
dashPlayer.attachView(_video)

I'm going to find certain conditions when this issue happens.

@dsparacio
Copy link
Contributor

duplicate of #1205 ?

@theifish
Copy link
Author

theifish commented Apr 1, 2016

I'm not sure that my issue the same as in #1205 , player stops before end in normal playing mode, without any user interactions.
I've updated to latest, and found a new log record about index aligning, maybe it helps.

[109289] Getting the request for audio time : 120
dash.all.min.js:2 [109290] Index for audio time 120 is 11
dash.all.min.js:2 [109290] SegmentTimeline: 110 / 124.629
dash.all.min.js:2 [109290] Getting the next request at index: 12
dash.all.min.js:2 [109290] SegmentTimeline: 120 / 124.629
dash.all.min.js:2 [109297] Buffered Range: 0 - 124.629333
dash.all.min.js:2 [109451] Getting the request for video time : 124.6
dash.all.min.js:2 [109451] Index for video time 124.6 is 11
dash.all.min.js:2 [109451] SegmentTimeline: 110 / 124.629
dash.all.min.js:2 [109452] Getting the next request at index: 13
dash.all.min.js:2 [109452] Signal complete.
dash.all.min.js:2 [109453] Schedule controller stopping for video
dash.all.min.js:2 [109453] Stream is complete
dash.all.min.js:2 [113300] Prior to making a request for time, NextFragmentRequestRule is aligning index handler's currentTime with bufferedRange.end. 124.629 was changed to 124.629333
dash.all.min.js:2 [113300] Getting the request for audio time : 124.629333
dash.all.min.js:2 [113301] Index for audio time 124.629333 is 11
dash.all.min.js:2 [113302] SegmentTimeline: 110 / 124.629
dash.all.min.js:2 [113302] Getting the next request at index: 13
dash.all.min.js:2 [113303] Signal complete.
dash.all.min.js:2 [113304] Schedule controller stopping for audio
dash.all.min.js:2 [113304] Stream is complete
dash.all.min.js:2 [120049] Stalling Buffer
dash.all.min.js:2 [120049] Waiting for more buffer before starting playback.
dash.all.min.js:2 [120050] Native video element event: ratechange: 0
dash.all.min.js:2 [120191] try to prune buffer

@dsparacio
Copy link
Contributor

Since you can post MPD run this tool and make sure there are not errors in your mpd http://dashif.org/conformance.html

@simonegymondo
Copy link

I have the same issue and it is easily reproduceble but hard to explain how. It is somehow sporadic but I can provide one way to do make it happen

  1. Go here: http://dashif.org/reference/players/javascript/v2.0.0/samples/dash-if-reference-player/index.html
  2. Play the following file: //dash.edgesuite.net/dash264/TestCasesHD/2a/qualcomm/1/MultiResMPEG2.mpd
  3. Seek to about 15% of the video
  4. Seek again to 20%
  5. Seek to about 15 seconds before the end.
  6. Let it run

Observed:

  • Video gets stuck 4 seconds before the end, at 10.51. (10.54 is the total length)
  • No more actions are possible.
  • End video trigger is not sent

Reproduceble: Tends to be sporadic but 100% reproduceble if seeking around the middle of the video as decribed.

Below the last lines of the logs:

Debug.js:108 [14436] Getting the request for video time : 652
Debug.js:108 [14436] Index for video time 652 is 325
Debug.js:108[14436] SegmentBase: 650 / 654
Debug.js:108[14437] Getting the next request at index: 326
Debug.js:108[14437] SegmentBase: 652 / 654
Debug.js:108[14451] loaded video:MediaSegment:652 (206, 10ms, 1ms)
Debug.js:108[14475] Buffered Range: 0 - 39.999999
Debug.js:108[14475] Buffered Range: 100 - 111.999999
Debug.js:108[14475] Buffered Range: 178 - 183.999999
Debug.js:108[14475] Buffered Range: 640 - 651.999999
Debug.js:108[14476] Getting the request for video time : 654
Debug.js:108[14476] Index for video time 654 is 326
Debug.js:108[14476] SegmentBase: 652 / 654
Debug.js:108[14476] Getting the next request at index: 327
Debug.js:108[14476] Signal complete.
Debug.js:108[14479] Stream is complete
Debug.js:108[23759] Stalling Buffer
Debug.js:108[23759] Waiting for more buffer before starting playback.
Debug.js:108[23770] Native video element event: ratechange: 0

@dsparacio
Copy link
Contributor

@simonegymondo or @theifish - We did a lot of work around seeking issues. Can you check if this is still a bug for you?

Please use this player version
http://dashif.org/reference/players/javascript/v2.1.1/samples/dash-if-reference-player/index.html

@kuznetcoff777
Copy link

@AkamaiDASH
Hello! Just checked on a chrome 50.0.2661.94 m
Repeated steps described by @simonegymondo but in a new version http://dashif.org/reference/players/javascript/v2.1.1/samples/dash-if-reference-player/index.htm (3 of 7 attempts had "success")

The same issue, stoped 10.51 and Buffer Length: is almost empty (0,3 or 0,4)

Last console logs:

[64657] Index for video time 650 is 324
Debug.js:108 [64657] SegmentBase: 648 / 654
Debug.js:108 [64658] Getting the next request at index: 325
Debug.js:108 [64658] SegmentBase: 650 / 654
Debug.js:108 [64786] Buffered Range: 2 - 93.999999
Debug.js:108 [64786] Buffered Range: 116 - 127.999999
Debug.js:108 [64787] Buffered Range: 210 - 219.999999
Debug.js:108 [64787] Buffered Range: 628 - 649.999999
Debug.js:108 [64788] Getting the request for video time : 652
Debug.js:108 [64789] Index for video time 652 is 325
Debug.js:108 [64789] SegmentBase: 650 / 654
Debug.js:108 [64790] Getting the next request at index: 326
Debug.js:108 [64790] SegmentBase: 652 / 654
Debug.js:108 [64940] Buffered Range: 2 - 93.999999
Debug.js:108 [64941] Buffered Range: 116 - 127.999999
Debug.js:108 [64941] Buffered Range: 210 - 219.999999
Debug.js:108 [64941] Buffered Range: 628 - 651.999999
Debug.js:108 [64942] Getting the request for video time : 654
Debug.js:108 [64942] Index for video time 654 is 326
Debug.js:108 [64943] SegmentBase: 652 / 654
Debug.js:108 [64944] Getting the next request at index: 327
Debug.js:108 [64944] Signal complete.
Debug.js:108 [64956] Schedule controller stopping for video
Debug.js:108 [64957] Stream is complete
Debug.js:108 [82121] try to prune buffer
Debug.js:108 [82121] pruning buffer: 616.603288 seconds.
Debug.js:108 [82122] try to prune buffer
Debug.js:108 [82122] pruning buffer: 617.579288 seconds.
Debug.js:108 [82146] Schedule controller starting for video
Debug.js:108 [85041] Stalling Buffer
Debug.js:108 [85041] Waiting for more buffer before starting playback.
Debug.js:108 [85057] Native video element event: ratechange: 0
Debug.js:108 [112120] try to prune buffer

@theifish
Copy link
Author

theifish commented May 5, 2016

Nothing changed :(
Still freezes before end.

@kuznetcoff777
Copy link

@AkamaiDASH, are there any news with this issue? It is very easy to repeat the problem.

@binarystatic
Copy link

I'm having problems with this same issue. It's especially problematic as I need to trigger various things on video end and this issue means those callbacks never get fired.

@dsparacio
Copy link
Contributor

@binarystatic @kuznetcoff777 can you guys pull build and test with PR #1523

I am hopeful this is resolved with that.

@binarystatic
Copy link

@AkamaiDASH that update does seem to have fixed it based on my testing this morning. Thanks for getting that out, this was definitely a showstopper bug for me.

@dsparacio
Copy link
Contributor

@binarystatic fantastic thanks for the confirmatio. I think that PR will fix a lot of little (BIG) things like that.

@dsparacio
Copy link
Contributor

Fixed with PR 1523

@dsparacio dsparacio added this to the v2.3.0 milestone Aug 8, 2016
@dsparacio dsparacio self-assigned this Aug 8, 2016
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

5 participants