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 |