media_observer.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
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_PUBLIC_BROWSER_MEDIA_OBSERVER_H_ 6#define CONTENT_PUBLIC_BROWSER_MEDIA_OBSERVER_H_ 7 8#include "content/public/browser/media_request_state.h" 9#include "content/public/common/media_stream_request.h" 10 11namespace content { 12 13// An embedder may implement MediaObserver and return it from 14// ContentBrowserClient to receive callbacks as media events occur. 15class MediaObserver { 16 public: 17 // Called when capture devices are opened. The observer can call 18 // |close_callback| to stop the stream. 19 virtual void OnCaptureDevicesOpened( 20 int render_process_id, 21 int render_view_id, 22 const MediaStreamDevices& devices, 23 const base::Closure& close_callback) = 0; 24 25 // Called when the opened capture devices are closed. 26 virtual void OnCaptureDevicesClosed( 27 int render_process_id, 28 int render_view_id, 29 const MediaStreamDevices& devices) = 0; 30 31 // Called when a audio capture device is plugged in or unplugged. 32 virtual void OnAudioCaptureDevicesChanged( 33 const MediaStreamDevices& devices) = 0; 34 35 // Called when a video capture device is plugged in or unplugged. 36 virtual void OnVideoCaptureDevicesChanged( 37 const MediaStreamDevices& devices) = 0; 38 39 // Called when a media request changes state. 40 virtual void OnMediaRequestStateChanged( 41 int render_process_id, 42 int render_view_id, 43 const MediaStreamDevice& device, 44 MediaRequestState state) = 0; 45 46 // Called when an audio stream is played or paused. 47 virtual void OnAudioStreamPlayingChanged( 48 int render_process_id, 49 int render_view_id, 50 int stream_id, 51 bool playing) = 0; 52 53 protected: 54 virtual ~MediaObserver() {} 55}; 56 57} // namespace content 58 59#endif // CONTENT_PUBLIC_BROWSER_MEDIA_OBSERVER_H_ 60