| 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) { |
| 22 scoped_refptr<DecoderBuffer> buffer = new DecoderBuffer(0); | 22 scoped_refptr<DecoderBuffer> buffer = new DecoderBuffer(0); |
| 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 static scoped_refptr<DecoderBuffer> CreateBuffer(int timestamp, int size) { |
| 29 scoped_refptr<DecoderBuffer> buffer = new DecoderBuffer(size); |
| 30 buffer->set_timestamp(ToTimeDelta(timestamp)); |
| 31 buffer->set_duration(ToTimeDelta(0)); |
| 32 return buffer; |
| 33 } |
| 34 |
| 28 TEST(DecoderBufferQueueTest, IsEmpty) { | 35 TEST(DecoderBufferQueueTest, IsEmpty) { |
| 29 DecoderBufferQueue queue; | 36 DecoderBufferQueue queue; |
| 30 EXPECT_TRUE(queue.IsEmpty()); | 37 EXPECT_TRUE(queue.IsEmpty()); |
| 31 | 38 |
| 32 queue.Push(CreateBuffer(0)); | 39 queue.Push(CreateBuffer(0)); |
| 33 EXPECT_FALSE(queue.IsEmpty()); | 40 EXPECT_FALSE(queue.IsEmpty()); |
| 34 } | 41 } |
| 35 | 42 |
| 36 TEST(DecoderBufferQueueTest, Clear) { | 43 TEST(DecoderBufferQueueTest, Clear) { |
| 37 DecoderBufferQueue queue; | 44 DecoderBufferQueue queue; |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 queue.Pop(); | 135 queue.Pop(); |
| 129 EXPECT_EQ(0, queue.Duration().InSeconds()); | 136 EXPECT_EQ(0, queue.Duration().InSeconds()); |
| 130 | 137 |
| 131 queue.Pop(); | 138 queue.Pop(); |
| 132 EXPECT_EQ(0, queue.Duration().InSeconds()); | 139 EXPECT_EQ(0, queue.Duration().InSeconds()); |
| 133 | 140 |
| 134 queue.Pop(); | 141 queue.Pop(); |
| 135 EXPECT_EQ(0, queue.Duration().InSeconds()); | 142 EXPECT_EQ(0, queue.Duration().InSeconds()); |
| 136 } | 143 } |
| 137 | 144 |
| 145 TEST(DecoderBufferQueueTest, DataSize) { |
| 146 DecoderBufferQueue queue; |
| 147 EXPECT_EQ(queue.data_size(), 0u); |
| 148 |
| 149 queue.Push(CreateBuffer(0, 1200u)); |
| 150 EXPECT_EQ(queue.data_size(), 1200u); |
| 151 |
| 152 queue.Push(CreateBuffer(1, 1000u)); |
| 153 EXPECT_EQ(queue.data_size(), 2200u); |
| 154 |
| 155 queue.Pop(); |
| 156 EXPECT_EQ(queue.data_size(), 1000u); |
| 157 |
| 158 queue.Push(CreateBuffer(2, 999u)); |
| 159 queue.Push(CreateBuffer(3, 999u)); |
| 160 EXPECT_EQ(queue.data_size(), 2998u); |
| 161 |
| 162 queue.Clear(); |
| 163 EXPECT_EQ(queue.data_size(), 0u); |
| 164 |
| 165 queue.Push(CreateBuffer(4, 1400u)); |
| 166 EXPECT_EQ(queue.data_size(), 1400u); |
| 167 } |
| 168 |
| 138 } // namespace media | 169 } // namespace media |
| OLD | NEW |