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 #include "media/base/buffers.h" | 5 #include "media/base/buffers.h" |
6 #include "media/base/decoder_buffer.h" | 6 #include "media/base/decoder_buffer.h" |
7 #include "media/base/decoder_buffer_queue.h" | 7 #include "media/base/decoder_buffer_queue.h" |
8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
9 | 9 |
10 namespace media { | 10 namespace media { |
11 | 11 |
12 static base::TimeDelta ToTimeDelta(int seconds) { | 12 static base::TimeDelta ToTimeDelta(int seconds) { |
13 if (seconds < 0) | 13 if (seconds < 0) |
14 return kNoTimestamp(); | 14 return kNoTimestamp(); |
15 return base::TimeDelta::FromSeconds(seconds); | 15 return base::TimeDelta::FromSeconds(seconds); |
16 } | 16 } |
17 | 17 |
18 // Helper to create buffers with specified timestamp in seconds. | 18 // Helper to create buffers with specified timestamp in seconds. |
19 // | 19 // |
20 // Negative numbers will be converted to kNoTimestamp(); | 20 // Negative numbers will be converted to kNoTimestamp(); |
21 static scoped_refptr<DecoderBuffer> CreateBuffer(int timestamp) { | 21 static scoped_refptr<DecoderBuffer> CreateBuffer(int timestamp, int size = 0) { |
22 scoped_refptr<DecoderBuffer> buffer = new DecoderBuffer(0); | 22 scoped_refptr<DecoderBuffer> buffer = new DecoderBuffer(size); |
23 buffer->set_timestamp(ToTimeDelta(timestamp)); | 23 buffer->set_timestamp(ToTimeDelta(timestamp)); |
24 buffer->set_duration(ToTimeDelta(0)); | 24 buffer->set_duration(ToTimeDelta(0)); |
25 return buffer; | 25 return buffer; |
26 } | 26 } |
27 | 27 |
28 TEST(DecoderBufferQueueTest, IsEmpty) { | 28 TEST(DecoderBufferQueueTest, IsEmpty) { |
29 DecoderBufferQueue queue; | 29 DecoderBufferQueue queue; |
30 EXPECT_TRUE(queue.IsEmpty()); | 30 EXPECT_TRUE(queue.IsEmpty()); |
31 | 31 |
32 queue.Push(CreateBuffer(0)); | 32 queue.Push(CreateBuffer(0)); |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
128 queue.Pop(); | 128 queue.Pop(); |
129 EXPECT_EQ(0, queue.Duration().InSeconds()); | 129 EXPECT_EQ(0, queue.Duration().InSeconds()); |
130 | 130 |
131 queue.Pop(); | 131 queue.Pop(); |
132 EXPECT_EQ(0, queue.Duration().InSeconds()); | 132 EXPECT_EQ(0, queue.Duration().InSeconds()); |
133 | 133 |
134 queue.Pop(); | 134 queue.Pop(); |
135 EXPECT_EQ(0, queue.Duration().InSeconds()); | 135 EXPECT_EQ(0, queue.Duration().InSeconds()); |
136 } | 136 } |
137 | 137 |
138 TEST(DecoderBufferQueueTest, Size) { | |
acolwell GONE FROM CHROMIUM
2014/02/18 23:57:48
nit: s/Size/DataSize/
damienv1
2014/02/19 00:33:58
Done.
| |
139 DecoderBufferQueue queue; | |
140 EXPECT_EQ(queue.data_size(), 0); | |
141 | |
142 queue.Push(CreateBuffer(0, 1200)); | |
143 EXPECT_EQ(queue.data_size(), 1200); | |
144 | |
145 queue.Push(CreateBuffer(1, 1000)); | |
146 EXPECT_EQ(queue.data_size(), 2200); | |
147 | |
148 queue.Pop(); | |
149 EXPECT_EQ(queue.data_size(), 1000); | |
150 | |
151 queue.Push(CreateBuffer(2, 999)); | |
152 queue.Push(CreateBuffer(3, 999)); | |
153 EXPECT_EQ(queue.data_size(), 2998); | |
154 | |
155 queue.Clear(); | |
156 EXPECT_EQ(queue.data_size(), 0); | |
157 | |
158 queue.Push(CreateBuffer(4, 1400)); | |
159 EXPECT_EQ(queue.data_size(), 1400); | |
160 } | |
161 | |
138 } // namespace media | 162 } // namespace media |
OLD | NEW |