| 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 // VideoCaptureDevice is the abstract base class for realizing video capture | 5 // VideoCaptureDevice is the abstract base class for realizing video capture |
| 6 // device support in Chromium. It provides the interface for OS dependent | 6 // device support in Chromium. It provides the interface for OS dependent |
| 7 // implementations. | 7 // implementations. |
| 8 // The class is created and functions are invoked on a thread owned by | 8 // The class is created and functions are invoked on a thread owned by |
| 9 // VideoCaptureManager. Capturing is done on other threads, depending on the OS | 9 // VideoCaptureManager. Capturing is done on other threads, depending on the OS |
| 10 // specific implementation. | 10 // specific implementation. |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 #include "media/capture/video_capture_types.h" | 35 #include "media/capture/video_capture_types.h" |
| 36 #include "mojo/public/cpp/bindings/array.h" | 36 #include "mojo/public/cpp/bindings/array.h" |
| 37 #include "ui/gfx/gpu_memory_buffer.h" | 37 #include "ui/gfx/gpu_memory_buffer.h" |
| 38 | 38 |
| 39 namespace tracked_objects { | 39 namespace tracked_objects { |
| 40 class Location; | 40 class Location; |
| 41 } // namespace tracked_objects | 41 } // namespace tracked_objects |
| 42 | 42 |
| 43 namespace media { | 43 namespace media { |
| 44 | 44 |
| 45 class CAPTURE_EXPORT FrameBufferPool { | |
| 46 public: | |
| 47 virtual ~FrameBufferPool() {} | |
| 48 | |
| 49 virtual void SetBufferHold(int buffer_id) = 0; | |
| 50 virtual void ReleaseBufferHold(int buffer_id) = 0; | |
| 51 }; | |
| 52 | |
| 53 class CAPTURE_EXPORT VideoFrameConsumerFeedbackObserver { | 45 class CAPTURE_EXPORT VideoFrameConsumerFeedbackObserver { |
| 54 public: | 46 public: |
| 55 virtual ~VideoFrameConsumerFeedbackObserver() {} | 47 virtual ~VideoFrameConsumerFeedbackObserver() {} |
| 56 | 48 |
| 57 // During processing of a video frame, consumers may report back their | 49 // During processing of a video frame, consumers may report back their |
| 58 // utilization level to the source device. The device may use this information | 50 // utilization level to the source device. The device may use this information |
| 59 // to adjust the rate of data it pushes out. Values are interpreted as | 51 // to adjust the rate of data it pushes out. Values are interpreted as |
| 60 // follows: | 52 // follows: |
| 61 // Less than 0.0 is meaningless and should be ignored. 1.0 indicates a | 53 // Less than 0.0 is meaningless and should be ignored. 1.0 indicates a |
| 62 // maximum sustainable utilization. Greater than 1.0 indicates the consumer | 54 // maximum sustainable utilization. Greater than 1.0 indicates the consumer |
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 297 | 289 |
| 298 private: | 290 private: |
| 299 // Gets the power line frequency from the current system time zone if this is | 291 // Gets the power line frequency from the current system time zone if this is |
| 300 // defined, otherwise returns 0. | 292 // defined, otherwise returns 0. |
| 301 PowerLineFrequency GetPowerLineFrequencyForLocation() const; | 293 PowerLineFrequency GetPowerLineFrequencyForLocation() const; |
| 302 }; | 294 }; |
| 303 | 295 |
| 304 } // namespace media | 296 } // namespace media |
| 305 | 297 |
| 306 #endif // MEDIA_CAPTURE_VIDEO_VIDEO_CAPTURE_DEVICE_H_ | 298 #endif // MEDIA_CAPTURE_VIDEO_VIDEO_CAPTURE_DEVICE_H_ |
| OLD | NEW |