OLD | NEW |
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 #ifndef CONTENT_RENDERER_MEDIA_RTC_VIDEO_CAPTURE_DELEGATE_H_ | 5 #ifndef CONTENT_RENDERER_MEDIA_RTC_VIDEO_CAPTURE_DELEGATE_H_ |
6 #define CONTENT_RENDERER_MEDIA_RTC_VIDEO_CAPTURE_DELEGATE_H_ | 6 #define CONTENT_RENDERER_MEDIA_RTC_VIDEO_CAPTURE_DELEGATE_H_ |
7 | 7 |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/message_loop/message_loop_proxy.h" | 9 #include "base/message_loop/message_loop_proxy.h" |
10 #include "content/common/media/video_capture.h" | 10 #include "content/common/media/video_capture.h" |
(...skipping 18 matching lines...) Expand all Loading... |
29 CAPTURE_FAILED, // The capturer failed to start. | 29 CAPTURE_FAILED, // The capturer failed to start. |
30 }; | 30 }; |
31 | 31 |
32 typedef base::Callback<void(const scoped_refptr<media::VideoFrame>&)> | 32 typedef base::Callback<void(const scoped_refptr<media::VideoFrame>&)> |
33 FrameCapturedCallback; | 33 FrameCapturedCallback; |
34 typedef base::Callback<void(CaptureState)> StateChangeCallback; | 34 typedef base::Callback<void(CaptureState)> StateChangeCallback; |
35 | 35 |
36 RtcVideoCaptureDelegate(const media::VideoCaptureSessionId id, | 36 RtcVideoCaptureDelegate(const media::VideoCaptureSessionId id, |
37 VideoCaptureImplManager* vc_manager); | 37 VideoCaptureImplManager* vc_manager); |
38 | 38 |
39 void StartCapture(const media::VideoCaptureCapability& capability, | 39 void StartCapture(const media::VideoCaptureParams& params, |
40 const FrameCapturedCallback& captured_callback, | 40 const FrameCapturedCallback& captured_callback, |
41 const StateChangeCallback& state_callback); | 41 const StateChangeCallback& state_callback); |
42 void StopCapture(); | 42 void StopCapture(); |
43 | 43 |
44 // media::VideoCapture::EventHandler implementation. | 44 // media::VideoCapture::EventHandler implementation. |
45 // These functions are called from a thread owned by |vc_manager_|. | 45 // These functions are called from a thread owned by |vc_manager_|. |
46 virtual void OnStarted(media::VideoCapture* capture) OVERRIDE; | 46 virtual void OnStarted(media::VideoCapture* capture) OVERRIDE; |
47 virtual void OnStopped(media::VideoCapture* capture) OVERRIDE; | 47 virtual void OnStopped(media::VideoCapture* capture) OVERRIDE; |
48 virtual void OnPaused(media::VideoCapture* capture) OVERRIDE; | 48 virtual void OnPaused(media::VideoCapture* capture) OVERRIDE; |
49 virtual void OnError(media::VideoCapture* capture, int error_code) OVERRIDE; | 49 virtual void OnError(media::VideoCapture* capture, int error_code) OVERRIDE; |
50 virtual void OnRemoved(media::VideoCapture* capture) OVERRIDE; | 50 virtual void OnRemoved(media::VideoCapture* capture) OVERRIDE; |
51 virtual void OnFrameReady( | 51 virtual void OnFrameReady( |
52 media::VideoCapture* capture, | 52 media::VideoCapture* capture, |
53 const scoped_refptr<media::VideoFrame>& frame) OVERRIDE; | 53 const scoped_refptr<media::VideoFrame>& frame) OVERRIDE; |
54 virtual void OnDeviceInfoReceived( | 54 virtual void OnDeviceInfoReceived( |
55 media::VideoCapture* capture, | 55 media::VideoCapture* capture, |
56 const media::VideoCaptureParams& device_info) OVERRIDE; | 56 const media::VideoCaptureFormat& device_info) OVERRIDE; |
57 virtual void OnDeviceInfoChanged( | |
58 media::VideoCapture* capture, | |
59 const media::VideoCaptureParams& device_info) OVERRIDE; | |
60 | 57 |
61 private: | 58 private: |
62 friend class base::RefCountedThreadSafe<RtcVideoCaptureDelegate>; | 59 friend class base::RefCountedThreadSafe<RtcVideoCaptureDelegate>; |
63 | 60 |
64 virtual ~RtcVideoCaptureDelegate(); | 61 virtual ~RtcVideoCaptureDelegate(); |
65 | 62 |
66 void OnFrameReadyOnCaptureThread( | 63 void OnFrameReadyOnCaptureThread( |
67 media::VideoCapture* capture, | 64 media::VideoCapture* capture, |
68 const scoped_refptr<media::VideoFrame>& frame); | 65 const scoped_refptr<media::VideoFrame>& frame); |
69 void OnErrorOnCaptureThread(media::VideoCapture* capture); | 66 void OnErrorOnCaptureThread(media::VideoCapture* capture); |
(...skipping 16 matching lines...) Expand all Loading... |
86 // |state_callback_| is provided to this class in StartCapture and must be | 83 // |state_callback_| is provided to this class in StartCapture and must be |
87 // valid until StopCapture is called. | 84 // valid until StopCapture is called. |
88 StateChangeCallback state_callback_; | 85 StateChangeCallback state_callback_; |
89 // Message loop of the caller of StartCapture. | 86 // Message loop of the caller of StartCapture. |
90 scoped_refptr<base::MessageLoopProxy> message_loop_proxy_; | 87 scoped_refptr<base::MessageLoopProxy> message_loop_proxy_; |
91 }; | 88 }; |
92 | 89 |
93 } // namespace content | 90 } // namespace content |
94 | 91 |
95 #endif // CONTENT_RENDERER_MEDIA_RTC_VIDEO_CAPTURE_DELEGATE_H_ | 92 #endif // CONTENT_RENDERER_MEDIA_RTC_VIDEO_CAPTURE_DELEGATE_H_ |
OLD | NEW |