| 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 // This file contains abstract classes used for media filter to handle video | 5 // This file contains abstract classes used for media filter to handle video |
| 6 // capture devices. | 6 // capture devices. |
| 7 | 7 |
| 8 #ifndef MEDIA_VIDEO_CAPTURE_VIDEO_CAPTURE_H_ | 8 #ifndef MEDIA_VIDEO_CAPTURE_VIDEO_CAPTURE_H_ |
| 9 #define MEDIA_VIDEO_CAPTURE_VIDEO_CAPTURE_H_ | 9 #define MEDIA_VIDEO_CAPTURE_VIDEO_CAPTURE_H_ |
| 10 | 10 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 | 38 |
| 39 // Notify client that the client has been removed and no more calls will be | 39 // Notify client that the client has been removed and no more calls will be |
| 40 // received. | 40 // received. |
| 41 virtual void OnRemoved(VideoCapture* capture) = 0; | 41 virtual void OnRemoved(VideoCapture* capture) = 0; |
| 42 | 42 |
| 43 // Notify client that a buffer is available. | 43 // Notify client that a buffer is available. |
| 44 virtual void OnFrameReady( | 44 virtual void OnFrameReady( |
| 45 VideoCapture* capture, | 45 VideoCapture* capture, |
| 46 const scoped_refptr<media::VideoFrame>& frame) = 0; | 46 const scoped_refptr<media::VideoFrame>& frame) = 0; |
| 47 | 47 |
| 48 // Notify client about device info. | |
| 49 virtual void OnDeviceInfoReceived( | |
| 50 VideoCapture* capture, | |
| 51 const VideoCaptureParams& device_info) = 0; | |
| 52 | |
| 53 // Notify client about the newly changed device info. | |
| 54 virtual void OnDeviceInfoChanged( | |
| 55 VideoCapture* capture, | |
| 56 const VideoCaptureParams& device_info) {}; | |
| 57 | |
| 58 protected: | 48 protected: |
| 59 virtual ~EventHandler() {} | 49 virtual ~EventHandler() {} |
| 60 }; | 50 }; |
| 61 | 51 |
| 62 VideoCapture() {} | 52 VideoCapture() {} |
| 63 | 53 |
| 64 // Request video capture to start capturing with |capability|. | 54 // Request video capture to start capturing with |params|. |
| 65 // Also register |handler| with video capture for event handling. | 55 // Also register |handler| with video capture for event handling. |
| 66 // |handler| must remain valid until it has received |OnRemoved()|. | 56 // |handler| must remain valid until it has received |OnRemoved()|. |
| 67 virtual void StartCapture(EventHandler* handler, | 57 virtual void StartCapture(EventHandler* handler, |
| 68 const VideoCaptureCapability& capability) = 0; | 58 const VideoCaptureParams& params) = 0; |
| 69 | 59 |
| 70 // Request video capture to stop capturing for client |handler|. | 60 // Request video capture to stop capturing for client |handler|. |
| 71 // |handler| must remain valid until it has received |OnRemoved()|. | 61 // |handler| must remain valid until it has received |OnRemoved()|. |
| 72 virtual void StopCapture(EventHandler* handler) = 0; | 62 virtual void StopCapture(EventHandler* handler) = 0; |
| 73 | 63 |
| 74 virtual bool CaptureStarted() = 0; | 64 virtual bool CaptureStarted() = 0; |
| 75 virtual int CaptureWidth() = 0; | |
| 76 virtual int CaptureHeight() = 0; | |
| 77 virtual int CaptureFrameRate() = 0; | 65 virtual int CaptureFrameRate() = 0; |
| 78 | 66 |
| 79 protected: | 67 protected: |
| 80 virtual ~VideoCapture() {} | 68 virtual ~VideoCapture() {} |
| 81 | 69 |
| 82 private: | 70 private: |
| 83 DISALLOW_COPY_AND_ASSIGN(VideoCapture); | 71 DISALLOW_COPY_AND_ASSIGN(VideoCapture); |
| 84 }; | 72 }; |
| 85 | 73 |
| 86 } // namespace media | 74 } // namespace media |
| 87 | 75 |
| 88 #endif // MEDIA_VIDEO_CAPTURE_VIDEO_CAPTURE_H_ | 76 #endif // MEDIA_VIDEO_CAPTURE_VIDEO_CAPTURE_H_ |
| OLD | NEW |