{"action":"created","issue":{"url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/562","labels_url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/562/labels{/name}","comments_url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/562/comments","events_url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/562/events","html_url":"https://github.com/Dash-Industry-Forum/dash.js/pull/562","id":82078412,"number":562,"title":"New abstract license server support and DRMToday","user":{"login":"greg80303","id":1928462,"avatar_url":"https://avatars.githubusercontent.com/u/1928462?v=3","gravatar_id":"","url":"https://api.github.com/users/greg80303","html_url":"https://github.com/greg80303","followers_url":"https://api.github.com/users/greg80303/followers","following_url":"https://api.github.com/users/greg80303/following{/other_user}","gists_url":"https://api.github.com/users/greg80303/gists{/gist_id}","starred_url":"https://api.github.com/users/greg80303/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/greg80303/subscriptions","organizations_url":"https://api.github.com/users/greg80303/orgs","repos_url":"https://api.github.com/users/greg80303/repos","events_url":"https://api.github.com/users/greg80303/events{/privacy}","received_events_url":"https://api.github.com/users/greg80303/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-05-28T18:49:19Z","updated_at":"2015-06-02T16:04:55Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/pulls/562","html_url":"https://github.com/Dash-Industry-Forum/dash.js/pull/562","diff_url":"https://github.com/Dash-Industry-Forum/dash.js/pull/562.diff","patch_url":"https://github.com/Dash-Industry-Forum/dash.js/pull/562.patch"},"body":"The existing DRM license server code was much too dependent on\r\na select few servers that we use for testing.  The HTTP method,\r\nthe response type, and the format of the response message will\r\nall be different depending on the license server.\r\n\r\nA new abstraction is introduced with example implementations in\r\nthe MediaPlayer.dependencies.protection.servers namespace.  This\r\nnew API is called from ProtectionExtensions.requestLicense() which\r\nreplaces the previous functions that were implemented by each\r\nKeySystem.  The license request/response procedure is not really\r\nkeysystem-specific anyway, it just so happens that we were always\r\nusing the same basic license server types for each system we supported.\r\n\r\nA new license server implementation has been added for the DRMToday\r\n(www.drmtoday.com) DRM service from CastLabs.  This is the first\r\nlicense server that allows us to create true CommonEncryption\r\ncontent with multiple \"real\" DRMs.  New test content for PlayReady/Widevine\r\nhas been created and added to the sources.json.\r\n\r\nProtectionData is no longer stored in the KeySystem objects, but in\r\nProtectionController and passed in to each license request call (all\r\nProtectionData thus far has been used solely for license requests).\r\n\r\nThe \"bearerToken\" field of ProtectionData has been removed since it\r\nwas only used in MS PlayReady to add HTTP request headers (which\r\ncan already be specified in ProtectionData)."},"comment":{"url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/comments/108001622","html_url":"https://github.com/Dash-Industry-Forum/dash.js/pull/562#issuecomment-108001622","issue_url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/562","id":108001622,"user":{"login":"AkamaiDASH","id":7864462,"avatar_url":"https://avatars.githubusercontent.com/u/7864462?v=3","gravatar_id":"","url":"https://api.github.com/users/AkamaiDASH","html_url":"https://github.com/AkamaiDASH","followers_url":"https://api.github.com/users/AkamaiDASH/followers","following_url":"https://api.github.com/users/AkamaiDASH/following{/other_user}","gists_url":"https://api.github.com/users/AkamaiDASH/gists{/gist_id}","starred_url":"https://api.github.com/users/AkamaiDASH/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AkamaiDASH/subscriptions","organizations_url":"https://api.github.com/users/AkamaiDASH/orgs","repos_url":"https://api.github.com/users/AkamaiDASH/repos","events_url":"https://api.github.com/users/AkamaiDASH/events{/privacy}","received_events_url":"https://api.github.com/users/AkamaiDASH/received_events","type":"User","site_admin":false},"created_at":"2015-06-02T16:04:55Z","updated_at":"2015-06-02T16:04:55Z","body":"@greg80303 no objections from me. :+1:  @KozhinM any objections?"}}