diff options
Diffstat (limited to 'chromium/content/renderer/media/media_stream_dispatcher.cc')
-rw-r--r-- | chromium/content/renderer/media/media_stream_dispatcher.cc | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/chromium/content/renderer/media/media_stream_dispatcher.cc b/chromium/content/renderer/media/media_stream_dispatcher.cc index 96f92fbfa9c..6890ffc5d6f 100644 --- a/chromium/content/renderer/media/media_stream_dispatcher.cc +++ b/chromium/content/renderer/media/media_stream_dispatcher.cc @@ -30,6 +30,37 @@ bool RemoveStreamDeviceFromArray(const StreamDeviceInfo device_info, } // namespace +// A request is identified by pair (request_id, handler), or ipc_request. +// There could be multiple clients making requests and each has its own +// request_id sequence. +// The ipc_request is garanteed to be unique when it's created in +// MediaStreamDispatcher. +struct MediaStreamDispatcher::Request { + Request(const base::WeakPtr<MediaStreamDispatcherEventHandler>& handler, + int request_id, + int ipc_request) + : handler(handler), + request_id(request_id), + ipc_request(ipc_request) { + } + bool IsThisRequest( + int request_id1, + const base::WeakPtr<MediaStreamDispatcherEventHandler>& handler1) { + return (request_id1 == request_id && handler1.get() == handler.get()); + } + base::WeakPtr<MediaStreamDispatcherEventHandler> handler; + int request_id; + int ipc_request; +}; + +struct MediaStreamDispatcher::Stream { + Stream() {} + ~Stream() {} + base::WeakPtr<MediaStreamDispatcherEventHandler> handler; + StreamDeviceInfoArray audio_array; + StreamDeviceInfoArray video_array; +}; + MediaStreamDispatcher::MediaStreamDispatcher(RenderViewImpl* render_view) : RenderViewObserver(render_view), main_loop_(base::MessageLoopProxy::current()), |