media_observer.h revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
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 a audio capture device is plugged in or unplugged. 18 virtual void OnAudioCaptureDevicesChanged( 19 const MediaStreamDevices& devices) = 0; 20 21 // Called when a video capture device is plugged in or unplugged. 22 virtual void OnVideoCaptureDevicesChanged( 23 const MediaStreamDevices& devices) = 0; 24 25 // Called when a media request changes state. 26 virtual void OnMediaRequestStateChanged( 27 int render_process_id, 28 int render_view_id, 29 int page_request_id, 30 const GURL& security_origin, 31 const MediaStreamDevice& device, 32 MediaRequestState state) = 0; 33 34 // Called when an audio stream transitions into a playing or paused state, and 35 // also at regular intervals to report the current power level of the audio 36 // signal in dBFS (decibels relative to full-scale) units. |clipped| is true 37 // if any part of the audio signal has been clipped since the last call. See 38 // media/audio/audio_power_monitor.h for more info. 39 virtual void OnAudioStreamPlayingChanged( 40 int render_process_id, 41 int render_view_id, 42 int stream_id, 43 bool is_playing, 44 float power_dbfs, 45 bool clipped) = 0; 46 47 // Called when the audio stream is being created. 48 virtual void OnCreatingAudioStream(int render_process_id, 49 int render_view_id) = 0; 50 51 protected: 52 virtual ~MediaObserver() {} 53}; 54 55} // namespace content 56 57#endif // CONTENT_PUBLIC_BROWSER_MEDIA_OBSERVER_H_ 58