{"action":"created","issue":{"url":"https://api.github.com/repos/w3c/mediacapture-output/issues/63","repository_url":"https://api.github.com/repos/w3c/mediacapture-output","labels_url":"https://api.github.com/repos/w3c/mediacapture-output/issues/63/labels{/name}","comments_url":"https://api.github.com/repos/w3c/mediacapture-output/issues/63/comments","events_url":"https://api.github.com/repos/w3c/mediacapture-output/issues/63/events","html_url":"https://github.com/w3c/mediacapture-output/issues/63","id":187493611,"number":63,"title":"Controlling 3rd party iframe audio output on a page?","user":{"login":"randallb","id":448694,"avatar_url":"https://avatars2.githubusercontent.com/u/448694?v=4","gravatar_id":"","url":"https://api.github.com/users/randallb","html_url":"https://github.com/randallb","followers_url":"https://api.github.com/users/randallb/followers","following_url":"https://api.github.com/users/randallb/following{/other_user}","gists_url":"https://api.github.com/users/randallb/gists{/gist_id}","starred_url":"https://api.github.com/users/randallb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/randallb/subscriptions","organizations_url":"https://api.github.com/users/randallb/orgs","repos_url":"https://api.github.com/users/randallb/repos","events_url":"https://api.github.com/users/randallb/events{/privacy}","received_events_url":"https://api.github.com/users/randallb/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"guidou","id":13046831,"avatar_url":"https://avatars0.githubusercontent.com/u/13046831?v=4","gravatar_id":"","url":"https://api.github.com/users/guidou","html_url":"https://github.com/guidou","followers_url":"https://api.github.com/users/guidou/followers","following_url":"https://api.github.com/users/guidou/following{/other_user}","gists_url":"https://api.github.com/users/guidou/gists{/gist_id}","starred_url":"https://api.github.com/users/guidou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/guidou/subscriptions","organizations_url":"https://api.github.com/users/guidou/orgs","repos_url":"https://api.github.com/users/guidou/repos","events_url":"https://api.github.com/users/guidou/events{/privacy}","received_events_url":"https://api.github.com/users/guidou/received_events","type":"User","site_admin":false},"assignees":[{"login":"guidou","id":13046831,"avatar_url":"https://avatars0.githubusercontent.com/u/13046831?v=4","gravatar_id":"","url":"https://api.github.com/users/guidou","html_url":"https://github.com/guidou","followers_url":"https://api.github.com/users/guidou/followers","following_url":"https://api.github.com/users/guidou/following{/other_user}","gists_url":"https://api.github.com/users/guidou/gists{/gist_id}","starred_url":"https://api.github.com/users/guidou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/guidou/subscriptions","organizations_url":"https://api.github.com/users/guidou/orgs","repos_url":"https://api.github.com/users/guidou/repos","events_url":"https://api.github.com/users/guidou/events{/privacy}","received_events_url":"https://api.github.com/users/guidou/received_events","type":"User","site_admin":false}],"milestone":null,"comments":14,"created_at":"2016-11-05T12:12:31Z","updated_at":"2018-04-11T03:26:32Z","closed_at":null,"author_association":"NONE","body":"(forgive me, this is my first time attempting to contribute)\r\n\r\nWe've built an application to allow for video streaming, and we essentially render the video using a browser, then output the framebuffer to another encoding process and send it along to an RTMP destination. (In our case, it's usually FB Live.)\r\n\r\nWe'd like to enable our users to easily embed other media in their productions.\r\n\r\nToday, we capture the audio by changing a machine's default audio device to one we custom wrote, then reroute the audio to our encoder process. This works great generally, but has the major drawback of disabling audio for the rest of the computer.\r\n\r\nAs the web audio spec has started shipping in Chrome specifically, we've started experimenting with using the web audio output api to redirect the audio properly. Basically, we use the enumerate devices api to find our driver, and if a confluence of things are correct, we direct our audio to go out to that spot explicitly using the setSinkId of audio and video elements.\r\n\r\nThe issue is if we'd like to embed other external media, like an iframe from YouTube as a simple example, we'd need YouTube to explicitly support switching audio destinations in their postmessage api. We view this as unlikely given our usecase is more edgecase for their business. We think the top-most context for a page should likely be in charge of where audio ends up, if inner iframes haven't changed their sound settings past 'default'. Basically, the top-most context could be in charge of all audio routing ideally.\r\n\r\nI'd propose a `setSinkId` api on an iframe, just like we have on audio / video elements. If this has been done before, I apologize, I wasn't able to find any data on this pretty much anywhere on the web.\r\n\r\nI think there's likely some technical challenges here, but I think for advanced audio / video (what i'm obsessed with) it'll help a lot with what the web is great at: linking and embedding resources."},"comment":{"url":"https://api.github.com/repos/w3c/mediacapture-output/issues/comments/380315166","html_url":"https://github.com/w3c/mediacapture-output/issues/63#issuecomment-380315166","issue_url":"https://api.github.com/repos/w3c/mediacapture-output/issues/63","id":380315166,"user":{"login":"TheBrenny","id":1498923,"avatar_url":"https://avatars3.githubusercontent.com/u/1498923?v=4","gravatar_id":"","url":"https://api.github.com/users/TheBrenny","html_url":"https://github.com/TheBrenny","followers_url":"https://api.github.com/users/TheBrenny/followers","following_url":"https://api.github.com/users/TheBrenny/following{/other_user}","gists_url":"https://api.github.com/users/TheBrenny/gists{/gist_id}","starred_url":"https://api.github.com/users/TheBrenny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TheBrenny/subscriptions","organizations_url":"https://api.github.com/users/TheBrenny/orgs","repos_url":"https://api.github.com/users/TheBrenny/repos","events_url":"https://api.github.com/users/TheBrenny/events{/privacy}","received_events_url":"https://api.github.com/users/TheBrenny/received_events","type":"User","site_admin":false},"created_at":"2018-04-11T03:26:32Z","updated_at":"2018-04-11T03:26:32Z","author_association":"NONE","body":"Bump - Would love to see this implemented! 😁"}}
{"actor":{"display_login":"TheBrenny"}}