{"action":"created","issue":{"url":"https://api.github.com/repos/google/shaka-player/issues/1541","repository_url":"https://api.github.com/repos/google/shaka-player","labels_url":"https://api.github.com/repos/google/shaka-player/issues/1541/labels{/name}","comments_url":"https://api.github.com/repos/google/shaka-player/issues/1541/comments","events_url":"https://api.github.com/repos/google/shaka-player/issues/1541/events","html_url":"https://github.com/google/shaka-player/issues/1541","id":350229210,"node_id":"MDU6SXNzdWUzNTAyMjkyMTA=","number":1541,"title":"MANIFEST.RESTRICTIONS_CANNOT_BE_MET error yet playback continues","user":{"login":"TheJohnBowers","id":26491119,"node_id":"MDQ6VXNlcjI2NDkxMTE5","avatar_url":"https://avatars3.githubusercontent.com/u/26491119?v=4","gravatar_id":"","url":"https://api.github.com/users/TheJohnBowers","html_url":"https://github.com/TheJohnBowers","followers_url":"https://api.github.com/users/TheJohnBowers/followers","following_url":"https://api.github.com/users/TheJohnBowers/following{/other_user}","gists_url":"https://api.github.com/users/TheJohnBowers/gists{/gist_id}","starred_url":"https://api.github.com/users/TheJohnBowers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TheJohnBowers/subscriptions","organizations_url":"https://api.github.com/users/TheJohnBowers/orgs","repos_url":"https://api.github.com/users/TheJohnBowers/repos","events_url":"https://api.github.com/users/TheJohnBowers/events{/privacy}","received_events_url":"https://api.github.com/users/TheJohnBowers/received_events","type":"User","site_admin":false},"labels":[{"id":573938103,"node_id":"MDU6TGFiZWw1NzM5MzgxMDM=","url":"https://api.github.com/repos/google/shaka-player/labels/needs%20triage","name":"needs triage","color":"b60205","default":false}],"state":"open","locked":false,"assignee":{"login":"joeyparrish","id":6843156,"node_id":"MDQ6VXNlcjY4NDMxNTY=","avatar_url":"https://avatars0.githubusercontent.com/u/6843156?v=4","gravatar_id":"","url":"https://api.github.com/users/joeyparrish","html_url":"https://github.com/joeyparrish","followers_url":"https://api.github.com/users/joeyparrish/followers","following_url":"https://api.github.com/users/joeyparrish/following{/other_user}","gists_url":"https://api.github.com/users/joeyparrish/gists{/gist_id}","starred_url":"https://api.github.com/users/joeyparrish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joeyparrish/subscriptions","organizations_url":"https://api.github.com/users/joeyparrish/orgs","repos_url":"https://api.github.com/users/joeyparrish/repos","events_url":"https://api.github.com/users/joeyparrish/events{/privacy}","received_events_url":"https://api.github.com/users/joeyparrish/received_events","type":"User","site_admin":false},"assignees":[{"login":"joeyparrish","id":6843156,"node_id":"MDQ6VXNlcjY4NDMxNTY=","avatar_url":"https://avatars0.githubusercontent.com/u/6843156?v=4","gravatar_id":"","url":"https://api.github.com/users/joeyparrish","html_url":"https://github.com/joeyparrish","followers_url":"https://api.github.com/users/joeyparrish/followers","following_url":"https://api.github.com/users/joeyparrish/following{/other_user}","gists_url":"https://api.github.com/users/joeyparrish/gists{/gist_id}","starred_url":"https://api.github.com/users/joeyparrish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joeyparrish/subscriptions","organizations_url":"https://api.github.com/users/joeyparrish/orgs","repos_url":"https://api.github.com/users/joeyparrish/repos","events_url":"https://api.github.com/users/joeyparrish/events{/privacy}","received_events_url":"https://api.github.com/users/joeyparrish/received_events","type":"User","site_admin":false}],"milestone":null,"comments":4,"created_at":"2018-08-13T23:29:14Z","updated_at":"2018-08-14T23:09:05Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"<!-- NOTE: For bugs, if you delete this template, we will send it again and ask you to fill it out. -->\r\n\r\n**Have you read the [FAQ](https://bit.ly/ShakaFAQ) and checked for duplicate open issues?**:\r\nYes\r\n![screen shot 2018-08-13 at 5 05 18 pm](https://user-images.githubusercontent.com/26491119/44063384-78600936-9f1d-11e8-956c-9d471460fa21.png)\r\n[MANIFEST.RESTRICTIONS_CANNOT_BE_MET.har.zip](https://github.com/google/shaka-player/files/2285029/MANIFEST.RESTRICTIONS_CANNOT_BE_MET.har.zip)\r\n\r\n\r\n\r\n\r\n**What version of Shaka Player are you using?**:\r\nShaka Player v2.4.3-uncompiled -- From the public appspot demo\r\n\r\n**Can you reproduce the issue with our latest release version?**:\r\nYes\r\n\r\n**Can you reproduce the issue with the latest code from `master`?**:\r\nI haven't tried\r\n\r\n**Are you using the demo app or your own custom app?**:\r\nDemo App\r\n\r\n**If custom app, can you reproduce the issue using our demo app?**:\r\nN/A\r\n\r\n**What browser and OS are you using?**:\r\nChrome Chrome (68.0.3440.91) on Android (Samsung Galaxy S8)\r\nI am not really sure that this is exactly necessary to reproduce, but HDCP and security level restrictions are being enforced such that HW_SECURE_ALL is required for video.\r\n\r\n**What are the manifest and license server URIs?**:\r\nLive Dash Manifest\r\n\r\nhttps://shaka-player-demo.appspot.com/demo/#asset=https://content.uplynk.com/channel/3ff06a21737f40bd9f0e3bc342a4ca6b.mpd?expand=hdcp_ndo_video_sl5;license=https://content.uplynk.com/wv;lang=en-US;videoRobustness=HW_SECURE_ALL;audioRobustness=SW_SECURE_CRYPTO;build=uncompiled\r\n\r\n**What did you do?**\r\nPlay the above URL several times (load/unload).  Eventually I will hit an instance where \"Shaka Error MANIFEST.RESTRICTIONS_CANNOT_BE_MET() pops up\" -- AND then the video plays with the error message over the top.   Nothing obviously bad is happening the licenses and manifests are returning properly, and indeed the video plays -- But people that I have testing my license restrictions think there is something wrong.  I feel like this error might be triggered on a slower response from the license server but I am not really sure what causes it.\r\n \r\n**What did you expect to happen?**\r\nI would not ever expect to see this error when I successfully play.\r\n\r\n**What actually happened?**\r\nError message and playback -- See the attached screenshot and .har\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/google/shaka-player/issues/comments/413044362","html_url":"https://github.com/google/shaka-player/issues/1541#issuecomment-413044362","issue_url":"https://api.github.com/repos/google/shaka-player/issues/1541","id":413044362,"node_id":"MDEyOklzc3VlQ29tbWVudDQxMzA0NDM2Mg==","user":{"login":"joeyparrish","id":6843156,"node_id":"MDQ6VXNlcjY4NDMxNTY=","avatar_url":"https://avatars0.githubusercontent.com/u/6843156?v=4","gravatar_id":"","url":"https://api.github.com/users/joeyparrish","html_url":"https://github.com/joeyparrish","followers_url":"https://api.github.com/users/joeyparrish/followers","following_url":"https://api.github.com/users/joeyparrish/following{/other_user}","gists_url":"https://api.github.com/users/joeyparrish/gists{/gist_id}","starred_url":"https://api.github.com/users/joeyparrish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joeyparrish/subscriptions","organizations_url":"https://api.github.com/users/joeyparrish/orgs","repos_url":"https://api.github.com/users/joeyparrish/repos","events_url":"https://api.github.com/users/joeyparrish/events{/privacy}","received_events_url":"https://api.github.com/users/joeyparrish/received_events","type":"User","site_admin":false},"created_at":"2018-08-14T23:09:05Z","updated_at":"2018-08-14T23:09:05Z","author_association":"MEMBER","body":"Two main problems:\r\n\r\n1. `DrmEngine` batches up key statuses to avoid this problem, but it only waits 0.5 seconds.  In some cases, that's not long enough.\r\n2. There appears to be a loophole: `Player` can pull key statuses from `DrmEngine` directly without waiting for an event.  So other events can trigger a restrictions check using the latest key statuses, which may still be in the process of \"batching up\"."}}
{"actor":{"display_login":"joeyparrish"}}