Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Side by Side Diff: content/browser/renderer_host/media/media_stream_provider.h

Issue 2350693002: Remove device enumeration, caching and monitoring from MediaStreamManager. (Closed)
Patch Set: latest hta@ comments Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // MediaStreamProvider is used to capture media of the types defined in 5 // MediaStreamProvider is used to capture media of the types defined in
6 // MediaStreamType. There is only one MediaStreamProvider instance per media 6 // MediaStreamType. There is only one MediaStreamProvider instance per media
7 // type and a MediaStreamProvider instance can have only one registered 7 // type and a MediaStreamProvider instance can have only one registered
8 // listener. 8 // listener.
9 // The MediaStreamManager is expected to be called on Browser::IO thread and 9 // The MediaStreamManager is expected to be called on Browser::IO thread and
10 // the listener will be called on the same thread. 10 // the listener will be called on the same thread.
(...skipping 28 matching lines...) Expand all
39 39
40 // Callback class used by MediaStreamProvider. 40 // Callback class used by MediaStreamProvider.
41 class CONTENT_EXPORT MediaStreamProviderListener { 41 class CONTENT_EXPORT MediaStreamProviderListener {
42 public: 42 public:
43 // Called by a MediaStreamProvider when a stream has been opened. 43 // Called by a MediaStreamProvider when a stream has been opened.
44 virtual void Opened(MediaStreamType stream_type, int capture_session_id) = 0; 44 virtual void Opened(MediaStreamType stream_type, int capture_session_id) = 0;
45 45
46 // Called by a MediaStreamProvider when a stream has been closed. 46 // Called by a MediaStreamProvider when a stream has been closed.
47 virtual void Closed(MediaStreamType stream_type, int capture_session_id) = 0; 47 virtual void Closed(MediaStreamType stream_type, int capture_session_id) = 0;
48 48
49 // Called by a MediaStreamProvider when available devices has been enumerated.
50 virtual void DevicesEnumerated(MediaStreamType stream_type,
51 const StreamDeviceInfoArray& devices) = 0;
52
53 // Called by a MediaStreamProvider when the device has been aborted due to 49 // Called by a MediaStreamProvider when the device has been aborted due to
54 // device error. 50 // device error.
55 virtual void Aborted(MediaStreamType stream_type, int capture_session_id) = 0; 51 virtual void Aborted(MediaStreamType stream_type, int capture_session_id) = 0;
56 52
57 protected: 53 protected:
58 virtual ~MediaStreamProviderListener() {} 54 virtual ~MediaStreamProviderListener() {}
59 }; 55 };
60 56
61 // Implemented by a manager class providing captured media. 57 // Implemented by a manager class providing captured media.
62 class CONTENT_EXPORT MediaStreamProvider 58 class CONTENT_EXPORT MediaStreamProvider
63 : public base::RefCountedThreadSafe<MediaStreamProvider> { 59 : public base::RefCountedThreadSafe<MediaStreamProvider> {
64 public: 60 public:
65 // Registers a listener and a device message loop. 61 // Registers a listener and a device message loop.
66 virtual void Register(MediaStreamProviderListener* listener, 62 virtual void Register(MediaStreamProviderListener* listener,
67 const scoped_refptr<base::SingleThreadTaskRunner>& 63 const scoped_refptr<base::SingleThreadTaskRunner>&
68 device_task_runner) = 0; 64 device_task_runner) = 0;
69 65
70 // Enumerates existing capture devices and calls |DevicesEnumerated|.
71 virtual void EnumerateDevices(MediaStreamType stream_type) = 0;
72
73 // Opens the specified device. The device is not started and it is still 66 // Opens the specified device. The device is not started and it is still
74 // possible for other applications to open the device before the device is 67 // possible for other applications to open the device before the device is
75 // started. |Opened| is called when the device is opened. 68 // started. |Opened| is called when the device is opened.
76 // kInvalidMediaCaptureSessionId is returned on error. 69 // kInvalidMediaCaptureSessionId is returned on error.
77 virtual int Open(const StreamDeviceInfo& device) = 0; 70 virtual int Open(const StreamDeviceInfo& device) = 0;
78 71
79 // Closes the specified device and calls |Closed| when done. 72 // Closes the specified device and calls |Closed| when done.
80 virtual void Close(int capture_session_id) = 0; 73 virtual void Close(int capture_session_id) = 0;
81 74
82 protected: 75 protected:
83 friend class base::RefCountedThreadSafe<MediaStreamProvider>; 76 friend class base::RefCountedThreadSafe<MediaStreamProvider>;
84 virtual ~MediaStreamProvider() {} 77 virtual ~MediaStreamProvider() {}
85 }; 78 };
86 79
87 } // namespace content 80 } // namespace content
88 81
89 #endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_MEDIA_STREAM_PROVIDER_H_ 82 #endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_MEDIA_STREAM_PROVIDER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698