{"action":"created","issue":{"url":"https://api.github.com/repos/feross/webtorrent-desktop/issues/452","repository_url":"https://api.github.com/repos/feross/webtorrent-desktop","labels_url":"https://api.github.com/repos/feross/webtorrent-desktop/issues/452/labels{/name}","comments_url":"https://api.github.com/repos/feross/webtorrent-desktop/issues/452/comments","events_url":"https://api.github.com/repos/feross/webtorrent-desktop/issues/452/events","html_url":"https://github.com/feross/webtorrent-desktop/pull/452","id":152057436,"number":452,"title":"[WIP] Use airplayer","user":{"login":"watson","id":10602,"avatar_url":"https://avatars.githubusercontent.com/u/10602?v=3","gravatar_id":"","url":"https://api.github.com/users/watson","html_url":"https://github.com/watson","followers_url":"https://api.github.com/users/watson/followers","following_url":"https://api.github.com/users/watson/following{/other_user}","gists_url":"https://api.github.com/users/watson/gists{/gist_id}","starred_url":"https://api.github.com/users/watson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/watson/subscriptions","organizations_url":"https://api.github.com/users/watson/orgs","repos_url":"https://api.github.com/users/watson/repos","events_url":"https://api.github.com/users/watson/events{/privacy}","received_events_url":"https://api.github.com/users/watson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2016-04-30T22:51:35Z","updated_at":"2016-05-07T20:48:54Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/feross/webtorrent-desktop/pulls/452","html_url":"https://github.com/feross/webtorrent-desktop/pull/452","diff_url":"https://github.com/feross/webtorrent-desktop/pull/452.diff","patch_url":"https://github.com/feross/webtorrent-desktop/pull/452.patch"},"body":"This PR is currently WIP and meant as a way of tracking the progress of improving the AirPlay support.\r\n\r\nThis PR uses the [airplayer](https://github.com/watson/airplayer) module instead of [airplay-js](https://github.com/guerrerocarlos/node-airplay-js).\r\n\r\nAs far as I can see, the main feature differences between the two modules currently are:\r\n\r\n- airplay-js serves the video using HLS, airplayer just streams the video using HTTPS range requests\r\n- airplay-js supports using ffmpeg (if present on the OS) to transpile and cut up the video into smaller pieces to be served as an HLS playlist. Airplayer does not use ffmpeg, so does not support transpiring, but will therefore use significant less CPU for videos that does not need to be transpiled\r\n- airplay-js supports subtitles if ffmpeg is used\r\n- airplayer does not write anything to stdout or stderr\r\n\r\nThoughts and feedback much appreciated 😃 \r\n\r\n## Todo\r\n\r\n- [x] ~~support~~ mock volume\r\n- [x] update `status` function to new API\r\n- [x] test this on a Apple TV pre 4th gen\r\n- [x] test this on a 4th gen Apple TV\r\n- [ ] subscribe to `events`"},"comment":{"url":"https://api.github.com/repos/feross/webtorrent-desktop/issues/comments/217667986","html_url":"https://github.com/feross/webtorrent-desktop/pull/452#issuecomment-217667986","issue_url":"https://api.github.com/repos/feross/webtorrent-desktop/issues/452","id":217667986,"user":{"login":"watson","id":10602,"avatar_url":"https://avatars.githubusercontent.com/u/10602?v=3","gravatar_id":"","url":"https://api.github.com/users/watson","html_url":"https://github.com/watson","followers_url":"https://api.github.com/users/watson/followers","following_url":"https://api.github.com/users/watson/following{/other_user}","gists_url":"https://api.github.com/users/watson/gists{/gist_id}","starred_url":"https://api.github.com/users/watson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/watson/subscriptions","organizations_url":"https://api.github.com/users/watson/orgs","repos_url":"https://api.github.com/users/watson/repos","events_url":"https://api.github.com/users/watson/events{/privacy}","received_events_url":"https://api.github.com/users/watson/received_events","type":"User","site_admin":false},"created_at":"2016-05-07T20:48:54Z","updated_at":"2016-05-07T20:48:54Z","body":"@feross the new airplayer module emits an event when the user pauses, stops etc. the playback on the Apple TV. I can see that the `chromecastPlayer` and the `dlnaPlayer` uses an `addEvents` function to subscribe to events. Is there a way I can change the `state` object to reflect the current playback state?"}}