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

#EXT-X-DISCONTINUITY Stalls playback #127

Closed
rkrishna1 opened this issue Dec 11, 2015 · 9 comments
Closed

#EXT-X-DISCONTINUITY Stalls playback #127

rkrishna1 opened this issue Dec 11, 2015 · 9 comments
Labels

Comments

@rkrishna1
Copy link

I have been experimenting with hls.js, for some reason #EXT-X-DISCONTINUITY randomly stalls playback.

@mangui
Copy link
Member

mangui commented Dec 11, 2015

plz share debug logs and stream URL

@rkrishna1
Copy link
Author

I am trying to loop a 7 second video in this case.

#EXTM3U #EXT-X-VERSION:4 #EXT-X-TARGETDURATION:9 #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:7.300000, #EXT-X-BYTERANGE:3304852@0 out.ts #EXT-X-DISCONTINUITY #EXTINF:7.300000, #EXT-X-BYTERANGE:3304852@0 out.ts #EXT-X-DISCONTINUITY #EXTINF:7.300000, #EXT-X-BYTERANGE:3304852@0 out.ts #EXT-X-DISCONTINUITY #EXTINF:7.300000, #EXT-X-BYTERANGE:3304852@0 out.ts #EXT-X-DISCONTINUITY #EXTINF:7.300000, #EXT-X-BYTERANGE:3304852@0 out.ts #EXT-X-DISCONTINUITY #EXTINF:7.300000, #EXT-X-BYTERANGE:3304852@0 out.ts #EXT-X-DISCONTINUITY #EXTINF:7.300000, #EXT-X-BYTERANGE:3304852@0 out.ts #EXT-X-ENDLIST

@mangui
Copy link
Member

mangui commented Dec 11, 2015

that is neither a debug log nor a stream URL

@jlmcdonald
Copy link

I've been having the same problem; it isn't all discontinuities, but consistently will be the same ones. Only seeing this in Chrome 46+ and up on Windows and Linux (haven't tested Mac OSX); Firefox works great with my problem stream, as does Chrome for Android.

Here's the output of chrome://media-internals:

Timestamp Property Value
00:00:00 00 pipeline_state kCreated
00:00:00 00 event WEBMEDIAPLAYER_CREATED
00:00:00 00 url blob:http%3A//tagging.vidangel.com/d4b265f2-edd2-4fd4-940f-d4a40603a735
00:00:00 00 pipeline_state kInitDemuxer
00:00:01 131 info Audio codec: mp4a.40.2. Sampling frequency: 44100Hz. Sampling frequency(Extension): 44100Hz. Channel layout: 3.
00:00:01 131 found_audio_stream true
00:00:01 131 audio_codec_name aac
00:00:01 131 duration 76.12
00:00:01 133 info Video codec: avc1.6401e
00:00:01 133 found_video_stream true
00:00:01 133 video_codec_name h264
00:00:01 133 pipeline_state kInitRenderer
00:00:01 134 audio_dds false
00:00:01 134 audio_decoder FFmpegAudioDecoder
00:00:01 137 video_dds false
00:00:01 137 video_decoder GpuVideoDecoder
00:00:01 137 pipeline_state kPlaying
00:00:01 151 seek_target 0.036977000534534454
00:00:01 151 pipeline_state kSeeking
00:00:01 159 pipeline_state kPlaying
00:00:01 285 info Audio codec: mp4a.40.2. Sampling frequency: 44100Hz. Sampling frequency(Extension): 44100Hz. Channel layout: 3.
00:00:01 291 info Video codec: avc1.6401e
00:00:01 294 debug Generated splice of overlap duration 14400us into new buffer at 4082666us.
00:00:01 377 info Audio codec: mp4a.40.2. Sampling frequency: 44100Hz. Sampling frequency(Extension): 44100Hz. Channel layout: 3.
00:00:01 387 info Video codec: avc1.6401e
00:00:01 872 duration 76.003733
00:00:04 466 event PLAY

Attached is a debug log.

The stream URL is: https://s3.amazonaws.com/processing.vidangel.com/playlist-all.m3u8 -- the first discontinuity plays through just fine, but the second one causes the freeze. In fact, it looks that Chrome won't even load segments after the discontinuity into the player (even though dev tools confirms that all segments are being requested).

1450254328788.zip

@mangui
Copy link
Member

mangui commented Dec 18, 2015

ok got it.
there is a small hole in the buffer at discontinuity, between 2nd and 3rd fragment.
Buffered:[0.036977,13.061111][13.085422,76.003733]
24ms. looks like it is enough for the browser to freeze the video ...
I will check how to overcome this.

mangui referenced this issue Dec 22, 2015
…k is stuck

If less than 200ms is buffered, and media is playing but playhead is not moving,
and we have a new buffer range available upfront (less than 300ms from current position),
seek to that buffer range.

related to https://github.com/dailymotion/hls.js/issues/127
@mangui mangui added the Bug label Dec 22, 2015
@mangui mangui closed this as completed Dec 23, 2015
@jlmcdonald
Copy link

Wondering if there might have been a regression in recent updates ... the player is no longer able to bridge discontinuities like those in https://s3.amazonaws.com/processing.vidangel.com/playlist-all.m3u8 (and, interestingly, the discontinuities show up visually on the scrubber timeline). Also getting a lot of "v.getVideoPlaybackQuality is not a function" errors in the dev tools console.

@mangui
Copy link
Member

mangui commented Jan 18, 2016

discontinuities should now be bridged correctly, plz recheck on your hand.

@jlmcdonald
Copy link

Yes ... the latest commits have fixed the problem once again. Thanks!

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

No branches or pull requests

3 participants