| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 MEDIA_BASE_VIDEO_FRAME_METADATA_H_ | 5 #ifndef MEDIA_BASE_VIDEO_FRAME_METADATA_H_ |
| 6 #define MEDIA_BASE_VIDEO_FRAME_METADATA_H_ | 6 #define MEDIA_BASE_VIDEO_FRAME_METADATA_H_ |
| 7 | 7 |
| 8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
| 9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
| 10 #include "base/values.h" | 10 #include "base/values.h" |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 // maximum sustainable utilization. Greater than 1.0 indicates the consumer | 61 // maximum sustainable utilization. Greater than 1.0 indicates the consumer |
| 62 // is likely to stall or drop frames if the data volume is not reduced. | 62 // is likely to stall or drop frames if the data volume is not reduced. |
| 63 // | 63 // |
| 64 // Example: In a system that encodes and transmits video frames over the | 64 // Example: In a system that encodes and transmits video frames over the |
| 65 // network, this value can be used to indicate whether sufficient CPU | 65 // network, this value can be used to indicate whether sufficient CPU |
| 66 // is available for encoding and/or sufficient bandwidth is available for | 66 // is available for encoding and/or sufficient bandwidth is available for |
| 67 // transmission over the network. The maximum of the two utilization | 67 // transmission over the network. The maximum of the two utilization |
| 68 // measurements would be used as feedback. | 68 // measurements would be used as feedback. |
| 69 RESOURCE_UTILIZATION, | 69 RESOURCE_UTILIZATION, |
| 70 | 70 |
| 71 // Render side: a TimeTicks that records the ideal time instant to render |
| 72 // the current frame. |
| 73 // Capture side: a TimeTicks that records the capture time. |
| 74 REFERENCE_TIME, |
| 75 |
| 76 // A TimeDelta measuring the time between the current frame and the first |
| 77 // frame of the stream. |
| 78 // TODO(qiangchen): Move VideoFrame::timestamp() to this KEY. |
| 79 ELAPSED_TIME, |
| 80 |
| 71 NUM_KEYS | 81 NUM_KEYS |
| 72 }; | 82 }; |
| 73 | 83 |
| 74 VideoFrameMetadata(); | 84 VideoFrameMetadata(); |
| 75 ~VideoFrameMetadata(); | 85 ~VideoFrameMetadata(); |
| 76 | 86 |
| 77 bool HasKey(Key key) const; | 87 bool HasKey(Key key) const; |
| 78 | 88 |
| 79 void Clear() { dictionary_.Clear(); } | 89 void Clear() { dictionary_.Clear(); } |
| 80 | 90 |
| (...skipping 28 matching lines...) Expand all Loading... |
| 109 const base::BinaryValue* GetBinaryValue(Key key) const; | 119 const base::BinaryValue* GetBinaryValue(Key key) const; |
| 110 | 120 |
| 111 base::DictionaryValue dictionary_; | 121 base::DictionaryValue dictionary_; |
| 112 | 122 |
| 113 DISALLOW_COPY_AND_ASSIGN(VideoFrameMetadata); | 123 DISALLOW_COPY_AND_ASSIGN(VideoFrameMetadata); |
| 114 }; | 124 }; |
| 115 | 125 |
| 116 } // namespace media | 126 } // namespace media |
| 117 | 127 |
| 118 #endif // MEDIA_BASE_VIDEO_FRAME_METADATA_H_ | 128 #endif // MEDIA_BASE_VIDEO_FRAME_METADATA_H_ |
| OLD | NEW |