<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [WebRTC][OpenWebRTC] implement CaptureDeviceManager"
href="https://bugs.webkit.org/show_bug.cgi?id=164010#c1">Comment # 1</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [WebRTC][OpenWebRTC] implement CaptureDeviceManager"
href="https://bugs.webkit.org/show_bug.cgi?id=164010">bug 164010</a>
from <span class="vcard"><a class="email" href="mailto:eric.carlson@apple.com" title="Eric Carlson <eric.carlson@apple.com>"> <span class="fn">Eric Carlson</span></a>
</span></b>
<pre>(In reply to <a href="show_bug.cgi?id=164010#c0">comment #0</a>)
<span class="quote">> Since <a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - [MediaStream] Resolve constraints and enumerate devices in the UI process"
href="show_bug.cgi?id=162147">bug 162147</a> was fixed our RealtimeMediaSourceCenter is broken because
> the media devices are enumerated in the instance running in the UI process.
> The instance running in the Web process has an empty sourceMap hashmap. I
> think that to solve this we should move the enumeration process in a
> CaptureDeviceManager implementation, similar to what the Mac port does.
>
> We will also likely need a synchronous OWR API to list devices. The API we
> have for this right now is asynchronous.</span >
Or you can make RealtimeMediaSourceCenter::getMediaStreamDevices asynchronous, e.g. it could take a lambda:
using GetDevicesHandler = std::function<void(Vector<CaptureDevice>&&)>;
virtual void getMediaStreamDevices(GetDevicesHandler) = 0;</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>