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 3 // found in the LICENSE file. 4 5 #ifndef CONTENT_RENDERER_MEDIA_MEDIA_STREAM_DISPATCHER_EVENTHANDLER_H_ 6 #define CONTENT_RENDERER_MEDIA_MEDIA_STREAM_DISPATCHER_EVENTHANDLER_H_ 7 8 #include <string> 9 10 #include "content/common/content_export.h" 11 #include "content/common/media/media_stream_options.h" 12 13 namespace content { 14 15 class CONTENT_EXPORT MediaStreamDispatcherEventHandler { 16 public: 17 // A new media stream have been created. 18 virtual void OnStreamGenerated( 19 int request_id, 20 const std::string& label, 21 const StreamDeviceInfoArray& audio_device_array, 22 const StreamDeviceInfoArray& video_device_array) = 0; 23 24 // Creation of a new media stream failed. The user might have denied access 25 // to the requested devices or no device is available. 26 virtual void OnStreamGenerationFailed(int request_id) = 0; 27 28 // A device has been stopped in the browser processes. 29 virtual void OnDeviceStopped( 30 const std::string& label, 31 const StreamDeviceInfo& device_info) = 0; 32 33 // A new list of devices have been enumerated. 34 virtual void OnDevicesEnumerated( 35 int request_id, 36 const StreamDeviceInfoArray& device_array) = 0; 37 38 // A device has been opened. 39 virtual void OnDeviceOpened( 40 int request_id, 41 const std::string& label, 42 const StreamDeviceInfo& device_info) = 0; 43 44 // Failed to open the device. 45 virtual void OnDeviceOpenFailed(int request_id) = 0; 46 47 protected: ~MediaStreamDispatcherEventHandler()48 virtual ~MediaStreamDispatcherEventHandler() {} 49 }; 50 51 } // namespace content 52 53 #endif // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_DISPATCHER_EVENTHANDLER_H_ 54