| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "base/logging.h" | 5 #include "base/logging.h" |
| 6 #include "base/scoped_ptr.h" | 6 #include "base/scoped_ptr.h" |
| 7 #include "base/time.h" | 7 #include "base/time.h" |
| 8 #include "media/base/data_buffer.h" | 8 #include "media/base/data_buffer.h" |
| 9 #include "media/base/seekable_buffer.h" | 9 #include "media/base/seekable_buffer.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 EXPECT_TRUE(buffer_.Seek(-static_cast<int32>(kBufferSize))); | 215 EXPECT_TRUE(buffer_.Seek(-static_cast<int32>(kBufferSize))); |
| 216 EXPECT_FALSE(buffer_.Seek(-1)); | 216 EXPECT_FALSE(buffer_.Seek(-1)); |
| 217 | 217 |
| 218 // Read again. | 218 // Read again. |
| 219 for (size_t i = 0; i < kBufferSize; i += kReadSize) { | 219 for (size_t i = 0; i < kBufferSize; i += kReadSize) { |
| 220 EXPECT_EQ(kReadSize, buffer_.Read(write_buffer_, kReadSize)); | 220 EXPECT_EQ(kReadSize, buffer_.Read(write_buffer_, kReadSize)); |
| 221 EXPECT_EQ(0, memcmp(write_buffer_, data_ + i, kReadSize)); | 221 EXPECT_EQ(0, memcmp(write_buffer_, data_ + i, kReadSize)); |
| 222 } | 222 } |
| 223 } | 223 } |
| 224 | 224 |
| 225 TEST_F(SeekableBufferTest, GetCurrentChunk) { |
| 226 const size_t kSeekSize = kWriteSize / 3; |
| 227 |
| 228 scoped_refptr<media::DataBuffer> buffer = new media::DataBuffer(kWriteSize); |
| 229 memcpy(buffer->GetWritableData(), data_, kWriteSize); |
| 230 buffer->SetDataSize(kWriteSize); |
| 231 |
| 232 const uint8* data; |
| 233 size_t size; |
| 234 EXPECT_FALSE(buffer_.GetCurrentChunk(&data, &size)); |
| 235 |
| 236 buffer_.Append(buffer.get()); |
| 237 EXPECT_TRUE(buffer_.GetCurrentChunk(&data, &size)); |
| 238 EXPECT_EQ(data, buffer->GetData()); |
| 239 EXPECT_EQ(size, buffer->GetDataSize()); |
| 240 |
| 241 buffer_.Seek(kSeekSize); |
| 242 EXPECT_TRUE(buffer_.GetCurrentChunk(&data, &size)); |
| 243 EXPECT_EQ(data, buffer->GetData() + kSeekSize); |
| 244 EXPECT_EQ(size, buffer->GetDataSize() - kSeekSize); |
| 245 } |
| 246 |
| 225 TEST_F(SeekableBufferTest, SeekForward) { | 247 TEST_F(SeekableBufferTest, SeekForward) { |
| 226 size_t write_position = 0; | 248 size_t write_position = 0; |
| 227 size_t read_position = 0; | 249 size_t read_position = 0; |
| 228 while (read_position < kDataSize) { | 250 while (read_position < kDataSize) { |
| 229 for (int i = 0; i < 10 && write_position < kDataSize; ++i) { | 251 for (int i = 0; i < 10 && write_position < kDataSize; ++i) { |
| 230 // Write a random amount of data. | 252 // Write a random amount of data. |
| 231 size_t write_size = GetRandomInt(kBufferSize); | 253 size_t write_size = GetRandomInt(kBufferSize); |
| 232 write_size = std::min(write_size, kDataSize - write_position); | 254 write_size = std::min(write_size, kDataSize - write_position); |
| 233 | 255 |
| 234 bool should_append = buffer_.Append(data_ + write_position, write_size); | 256 bool should_append = buffer_.Append(data_ + write_position, write_size); |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 313 EXPECT_EQ(tests[i].expected_time, actual) << "With test = { start:" | 335 EXPECT_EQ(tests[i].expected_time, actual) << "With test = { start:" |
| 314 << tests[i].first_time_useconds << ", duration:" | 336 << tests[i].first_time_useconds << ", duration:" |
| 315 << tests[i].duration_useconds << ", consumed:" | 337 << tests[i].duration_useconds << ", consumed:" |
| 316 << tests[i].consume_bytes << "}\n"; | 338 << tests[i].consume_bytes << "}\n"; |
| 317 | 339 |
| 318 buffer_.Clear(); | 340 buffer_.Clear(); |
| 319 } | 341 } |
| 320 } | 342 } |
| 321 | 343 |
| 322 } // namespace | 344 } // namespace |
| OLD | NEW |