{"action":"created","issue":{"url":"https://api.github.com/repos/video-dev/hls.js/issues/1484","repository_url":"https://api.github.com/repos/video-dev/hls.js","labels_url":"https://api.github.com/repos/video-dev/hls.js/issues/1484/labels{/name}","comments_url":"https://api.github.com/repos/video-dev/hls.js/issues/1484/comments","events_url":"https://api.github.com/repos/video-dev/hls.js/issues/1484/events","html_url":"https://github.com/video-dev/hls.js/issues/1484","id":286219604,"node_id":"MDU6SXNzdWUyODYyMTk2MDQ=","number":1484,"title":"Support discontinuity and/or gap in video sources with alt-audio","user":{"login":"fredvb","id":8552881,"node_id":"MDQ6VXNlcjg1NTI4ODE=","avatar_url":"https://avatars2.githubusercontent.com/u/8552881?v=4","gravatar_id":"","url":"https://api.github.com/users/fredvb","html_url":"https://github.com/fredvb","followers_url":"https://api.github.com/users/fredvb/followers","following_url":"https://api.github.com/users/fredvb/following{/other_user}","gists_url":"https://api.github.com/users/fredvb/gists{/gist_id}","starred_url":"https://api.github.com/users/fredvb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fredvb/subscriptions","organizations_url":"https://api.github.com/users/fredvb/orgs","repos_url":"https://api.github.com/users/fredvb/repos","events_url":"https://api.github.com/users/fredvb/events{/privacy}","received_events_url":"https://api.github.com/users/fredvb/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-01-05T08:10:35Z","updated_at":"2018-06-15T22:00:50Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"##### Environment\r\n- [x] The stream has correct Access-Control-Allow-Origin headers (CORS)\r\n- [x] There are no network errors such as 404s in the browser console when trying to play the stream\r\n- [x] The issue observed is not already reported by searching on Github under https://github.com/video-dev/hls.js/issues\r\n- [x] The issue occurs in the latest reference client on http://video-dev.github.io/hls.js/demo and not just on my page\r\n* Link to playable M3U8 file: See description below for links.\r\n* Hls.js version: 0.8.9\r\n* Browser name/version: Chrome (latest), but probably same on all\r\n* OS name/version: Windows 10\r\n\r\n##### Steps to reproduce\r\nThis issue is regarding the case where the manifest points to a video playlist and an alt-audio playlist.\r\n\r\nThere can be cases where a Live HLS streamer can't upload segments on either the video or audio side. In those cases, either a DISCONTINUITY or a GAP might be generated in the playlists, those cases cause issues.\r\n\r\nHere's a list of samples that can be used to test the different cases and the results that have been found. A friend has tested elaborated the following list of samples and tested it on IOS & HLS.js. I've also tried with MPV 0.27 witch wish those samples all workout properly.\r\n\r\nThe big issues are either the player freezing (stopping) or in other cases the audio/video going out of sync by a whole segment.\r\n-----------------------------------------------------------------------------------------------\r\n1. \r\n-> HLS-Ondemandstream with two video-renditions and one audio-rendition\r\n-> higher video-rendition has discontinuity-tag:\r\nhttps://apiproxy.akamaized.net/hlsjs/multichannelaudio/master_discontinuity_video_abr.m3u8\r\n\r\n=> Playback in IOS (newest) fine (plays back lower video resolution)\r\n=> Playback in hls.js (0.8.9) fine (plays back lower video resolution)\r\n\r\n2. \r\n-> HLS-Ondemandstream with one video-rendition and one audio-rendition\r\n-> video-rendition has discontinuity-tag:\r\nhttps://apiproxy.akamaized.net/hlsjs/multichannelaudio/master_discontinuity_video.m3u8\r\n\r\n=> Playback in IOS (newest) plays only audio after video-discontinuity\r\n=> Playback in hls.js (0.8.9) AV-asynchronicity\r\n=> Playback in MPV (0.27) video freezes while audio plays until video resumes once A/V is in sync.\r\n\r\n3. \r\n-> HLS-Ondemandstream with one video-renditions and one audio-rendition\r\n-> audio-rendition has discontinuity-tag:\r\nhttps://apiproxy.akamaized.net/hlsjs/multichannelaudio/master_discontinuity_audio.m3u8\r\n\r\n=> Playback in IOS (newest) plays only video after audio-discontinuity\r\n=> Playback in hls.js (0.8.9) stops after audio-discontinuity\r\n=> Playback in MPV (0.27) video plays while no audio is played and audio resumes once A/V is in sync.\r\n\r\n____\r\nUsing EXT-X-GAP instead of EXT-X-DISCONTINUITY\r\n____\r\n\r\n4. \r\n-> HLS-Ondemandstream with two video-renditions and one audio-rendition\r\n-> higher video-rendition has gap-tag:\r\nhttps://apiproxy.akamaized.net/hlsjs/multichannelaudio/master_gaps_video_abr.m3u8\r\n\r\n=> Playback in IOS (newest) fine (plays back lower video resolution)\r\n=> Playback in hls.js (0.8.9) fine (plays back lower video resolution)\r\n\r\n5. \r\n-> HLS-Ondemandstream with one video-rendition and one audio-rendition\r\n-> video-rendition has gap-tag:\r\nhttps://apiproxy.akamaized.net/hlsjs/multichannelaudio/master_gaps_video.m3u8\r\n\r\n=> Playback in IOS (newest) fine!!!\r\n=> Playback in hls.js (0.8.9) stops after video-discontinuity\r\n=> Playback in MPV (0.27) video freezes while audio plays until video resumes once A/V is in sync.\r\n\r\n6. \r\n-> HLS-Ondemandstream with one video-rendition and one audio-rendition\r\n-> audio-rendition has gap-tag:\r\nhttps://apiproxy.akamaized.net/hlsjs/multichannelaudio/master_gaps_audio.m3u8\r\n\r\n=> Playback in IOS (newest) fine!!!\r\n=> Playback in hls.js (0.8.9) stops after audio-discontinuity\r\n=> Playback in MPV (0.27) video plays while no audio is played and audio resumes once A/V is in sync.\r\n\r\n-----------------------------------------------------------------------------------------------\r\n\r\n##### Expected behavior\r\nI'd hope that something similar to the behavior of MPV would happen, if one playlist (video or audio) is missing some content, playback should continue while creating a gap for the missing content while playing the content that does exist.\r\n\r\n##### Actual behavior\r\nEither the player goes out of sync by a whole segment or more (if more segments are involved) or the player stops playing if it's an audio segment that is missing.\r\n\r\n\r\n##### Console output\r\nI'll omit this since we have multiple sample source files with which it can be tested and might pollute this issue. \r\n\r\n\r\n  "},"comment":{"url":"https://api.github.com/repos/video-dev/hls.js/issues/comments/397753204","html_url":"https://github.com/video-dev/hls.js/issues/1484#issuecomment-397753204","issue_url":"https://api.github.com/repos/video-dev/hls.js/issues/1484","id":397753204,"node_id":"MDEyOklzc3VlQ29tbWVudDM5Nzc1MzIwNA==","user":{"login":"stale[bot]","id":26384082,"node_id":"MDM6Qm90MjYzODQwODI=","avatar_url":"https://avatars3.githubusercontent.com/in/1724?v=4","gravatar_id":"","url":"https://api.github.com/users/stale%5Bbot%5D","html_url":"https://github.com/apps/stale","followers_url":"https://api.github.com/users/stale%5Bbot%5D/followers","following_url":"https://api.github.com/users/stale%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/stale%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/stale%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stale%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/stale%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/stale%5Bbot%5D/repos","events_url":"https://api.github.com/users/stale%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/stale%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2018-06-15T22:00:50Z","updated_at":"2018-06-15T22:00:50Z","author_association":"NONE","body":"This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.\n"}}
{"actor":{"display_login":"stale"}}