{"action":"created","issue":{"url":"https://api.github.com/repos/Bilibili/ijkplayer/issues/299","repository_url":"https://api.github.com/repos/Bilibili/ijkplayer","labels_url":"https://api.github.com/repos/Bilibili/ijkplayer/issues/299/labels{/name}","comments_url":"https://api.github.com/repos/Bilibili/ijkplayer/issues/299/comments","events_url":"https://api.github.com/repos/Bilibili/ijkplayer/issues/299/events","html_url":"https://github.com/Bilibili/ijkplayer/issues/299","id":91592873,"number":299,"title":"hls adaptive bitrate switching doesn't work","user":{"login":"masudo","id":738289,"avatar_url":"https://avatars.githubusercontent.com/u/738289?v=3","gravatar_id":"","url":"https://api.github.com/users/masudo","html_url":"https://github.com/masudo","followers_url":"https://api.github.com/users/masudo/followers","following_url":"https://api.github.com/users/masudo/following{/other_user}","gists_url":"https://api.github.com/users/masudo/gists{/gist_id}","starred_url":"https://api.github.com/users/masudo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/masudo/subscriptions","organizations_url":"https://api.github.com/users/masudo/orgs","repos_url":"https://api.github.com/users/masudo/repos","events_url":"https://api.github.com/users/masudo/events{/privacy}","received_events_url":"https://api.github.com/users/masudo/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Bilibili/ijkplayer/labels/staled","name":"staled","color":"c7def8"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2015-06-28T12:12:13Z","updated_at":"2016-08-29T08:58:11Z","closed_at":"2015-12-18T12:26:35Z","body":"The problem is right now ffmpeg does not supports switching between different hls variants with different bandwidth  defined in m3u8 file based on user available bandwidth and play only the first one.\r\nthere is an issue in ffpemg tracker related to this problem but that is abandoned  and nobody works on it.\r\nhttps://trac.ffmpeg.org/ticket/2886\r\n\r\nI wanted to see if  ijkplayer can implement this feature to force ffmpeg to switch to a variant on the fly or at least letting user choose different variant while hls stream is playing.\r\n\r\n\r\nhere you can find my test file:\r\n\r\nhttp://91.109.23.24/cms/media/uploads/media/trailers/kungfupanda/adaptive_kungfu_panda.m3u8"},"comment":{"url":"https://api.github.com/repos/Bilibili/ijkplayer/issues/comments/243070132","html_url":"https://github.com/Bilibili/ijkplayer/issues/299#issuecomment-243070132","issue_url":"https://api.github.com/repos/Bilibili/ijkplayer/issues/299","id":243070132,"user":{"login":"NikmanSergey","id":8132498,"avatar_url":"https://avatars.githubusercontent.com/u/8132498?v=3","gravatar_id":"","url":"https://api.github.com/users/NikmanSergey","html_url":"https://github.com/NikmanSergey","followers_url":"https://api.github.com/users/NikmanSergey/followers","following_url":"https://api.github.com/users/NikmanSergey/following{/other_user}","gists_url":"https://api.github.com/users/NikmanSergey/gists{/gist_id}","starred_url":"https://api.github.com/users/NikmanSergey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NikmanSergey/subscriptions","organizations_url":"https://api.github.com/users/NikmanSergey/orgs","repos_url":"https://api.github.com/users/NikmanSergey/repos","events_url":"https://api.github.com/users/NikmanSergey/events{/privacy}","received_events_url":"https://api.github.com/users/NikmanSergey/received_events","type":"User","site_admin":false},"created_at":"2016-08-29T08:58:10Z","updated_at":"2016-08-29T08:58:10Z","body":"@Zo2m4bie any progress?\r\n\r\nIt seems, that often _freeData()_ crush is because _read_data_ and _hls_close_ (called from _stream_close()_ in ff_ffplay.c) happens in two different threads, but uses the same data.\r\n\r\nDuring playback _ffurl_open()_ and _ffurl_close()_ running in read_data's thread. But after playback has stoped _ffurl_close()_ is also called in different thread."}}
{"actor":{"display_login":"NikmanSergey"}}