gingerbeur / google-cast-sdk

Automatically exported from code.google.com/p/google-cast-sdk
0 stars 0 forks source link

HLS streaming stuck/freeze/crash #393

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Play a HLS stream on ChromeCast
2. Sometimes stream stuck at a time, no more fetching new segments.
3. Debug console says:

[397.616s] [cast.player.api.Player] 0: time=44.7954 buffer=34.98501076660156 
media_player.js:23
 [398.026s] [cast.player.api.Player] 0: time=44.7954 buffer=34.98501076660156 media_player.js:23
 [398.436s] [cast.player.api.Player] 0: time=44.7954 buffer=34.98501076660156 media_player.js:23
 [398.846s] [cast.player.api.Player] 0: time=44.7954 buffer=34.98501076660156 media_player.js:23

If filter SourceBufferManager only
I would see:

[113.839s] [cast.player.core.SourceBufferManager] 0: 63.10441207885742 - 
87.12940979003906 media_player.js:23
 [113.843s] [cast.player.core.SourceBufferManager] 0: 97.55541229248047 - 111.6954116821289 media_player.js:23
 [113.848s] [cast.player.core.SourceBufferManager] 0: updateend media_player.js:23
 [122.167s] [cast.player.core.SourceBufferManager] adjustTime: 112 : 111.6954116821289 media_player.js:23
 [122.173s] [cast.player.core.SourceBufferManager] 0: append media_player.js:23
 [122.666s] [cast.player.core.SourceBufferManager] 0: 73.44841003417969 - 87.12940979003906 media_player.js:23
 [122.671s] [cast.player.core.SourceBufferManager] 0: 97.55541229248047 - 119.78540802001953 media_player.js:23
 [122.674s] [cast.player.core.SourceBufferManager] 0: updateend

then no more messages from SourceBufferManager.

Video should play to the end without any problem.

Chromecast, firmware 19084.

I have .ts and .m3u8 file on google drive. Since it is trans coded from a TV 
show, not sure if it is appropriate to post the link here.

I have also send report using android chromecast app earlier.

Thanks.

Original issue reported on code.google.com by ksc...@ksc91u.info on 1 Oct 2014 at 9:20

GoogleCodeExporter commented 9 years ago
Based on the output below, it looks like there is a gap in your stream(s) 
timestamps and Chrome media pipeline is not able to jump over such a large gap.

[113.839s] [cast.player.core.SourceBufferManager] 0: 63.10441207885742 - 
87.12940979003906
[113.843s] [cast.player.core.SourceBufferManager] 0: 97.55541229248047 - 
111.6954116821289

Original comment by vadi...@google.com on 2 Oct 2014 at 8:55

GoogleCodeExporter commented 9 years ago
Play generated .ts files with mplayer I see 63s~87s is from tstream8.ts and 
97~111s is tstream10.ts, and there is another tstream9.ts.

tstreams are generated by ffmpeg on the fly, this issue happen occasionally, 
the time mediaplayer stopped playing seems different every time.

Looks like when SourceBufferManager failed to load tstream9.ts after a while it 
will give up loading and player stopped.

For my 8 seconds segments, timeout is 30s.

[375.126s] [goog.net.XhrIo] Will abort after 30000ms if incomplete, xhr2 false

I am trying to reproduce this issue and see if there is any network error on 
debug console, but no success so far.

I wonder if it is possible set abort timeout?

Thanks.

Original comment by ksc...@ksc91u.info on 3 Oct 2014 at 3:30

GoogleCodeExporter commented 9 years ago
There don't seem to be any network related errors when this occurs (the Network 
tab indicates the entire segment has been downloaded), could the MPL be 
silently failing to decode a segment? The fact that the MPL then downloads and 
processes the next segment is king of unexpected.

Original comment by willlunn...@gmail.com on 21 Oct 2014 at 8:11

GoogleCodeExporter commented 9 years ago

Original comment by and...@google.com on 10 Nov 2014 at 7:31