| 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 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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) { | 225 TEST_F(SeekableBufferTest, GetCurrentChunk) { |
| 226 const size_t kSeekSize = kWriteSize / 3; | 226 const size_t kSeekSize = kWriteSize / 3; |
| 227 | 227 |
| 228 scoped_refptr<media::DataBuffer> buffer = new media::DataBuffer(kWriteSize); | 228 scoped_refptr<media::DataBuffer> buffer(new media::DataBuffer(kWriteSize)); |
| 229 memcpy(buffer->GetWritableData(), data_, kWriteSize); | 229 memcpy(buffer->GetWritableData(), data_, kWriteSize); |
| 230 buffer->SetDataSize(kWriteSize); | 230 buffer->SetDataSize(kWriteSize); |
| 231 | 231 |
| 232 const uint8* data; | 232 const uint8* data; |
| 233 size_t size; | 233 size_t size; |
| 234 EXPECT_FALSE(buffer_.GetCurrentChunk(&data, &size)); | 234 EXPECT_FALSE(buffer_.GetCurrentChunk(&data, &size)); |
| 235 | 235 |
| 236 buffer_.Append(buffer.get()); | 236 buffer_.Append(buffer.get()); |
| 237 EXPECT_TRUE(buffer_.GetCurrentChunk(&data, &size)); | 237 EXPECT_TRUE(buffer_.GetCurrentChunk(&data, &size)); |
| 238 EXPECT_EQ(data, buffer->GetData()); | 238 EXPECT_EQ(data, buffer->GetData()); |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 318 { 5, 8000000, kWriteSize / 2, 4000005 }, | 318 { 5, 8000000, kWriteSize / 2, 4000005 }, |
| 319 { 5, 1000000, kWriteSize, 1000005 }, | 319 { 5, 1000000, kWriteSize, 1000005 }, |
| 320 { 5, 4000000, kWriteSize, 4000005 }, | 320 { 5, 4000000, kWriteSize, 4000005 }, |
| 321 { 5, 8000000, kWriteSize, 8000005 }, | 321 { 5, 8000000, kWriteSize, 8000005 }, |
| 322 }; | 322 }; |
| 323 | 323 |
| 324 // current_time() must initially return kInvalidTimestamp. | 324 // current_time() must initially return kInvalidTimestamp. |
| 325 EXPECT_EQ(kInvalidTimestamp.ToInternalValue(), | 325 EXPECT_EQ(kInvalidTimestamp.ToInternalValue(), |
| 326 buffer_.current_time().ToInternalValue()); | 326 buffer_.current_time().ToInternalValue()); |
| 327 | 327 |
| 328 scoped_refptr<media::DataBuffer> buffer = new media::DataBuffer(kWriteSize); | 328 scoped_refptr<media::DataBuffer> buffer(new media::DataBuffer(kWriteSize)); |
| 329 memcpy(buffer->GetWritableData(), data_, kWriteSize); | 329 memcpy(buffer->GetWritableData(), data_, kWriteSize); |
| 330 buffer->SetDataSize(kWriteSize); | 330 buffer->SetDataSize(kWriteSize); |
| 331 | 331 |
| 332 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { | 332 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { |
| 333 buffer->SetTimestamp(base::TimeDelta::FromMicroseconds( | 333 buffer->SetTimestamp(base::TimeDelta::FromMicroseconds( |
| 334 tests[i].first_time_useconds)); | 334 tests[i].first_time_useconds)); |
| 335 buffer->SetDuration(base::TimeDelta::FromMicroseconds( | 335 buffer->SetDuration(base::TimeDelta::FromMicroseconds( |
| 336 tests[i].duration_useconds)); | 336 tests[i].duration_useconds)); |
| 337 buffer_.Append(buffer.get()); | 337 buffer_.Append(buffer.get()); |
| 338 EXPECT_TRUE(buffer_.Seek(tests[i].consume_bytes)); | 338 EXPECT_TRUE(buffer_.Seek(tests[i].consume_bytes)); |
| 339 | 339 |
| 340 int64 actual = buffer_.current_time().ToInternalValue(); | 340 int64 actual = buffer_.current_time().ToInternalValue(); |
| 341 | 341 |
| 342 EXPECT_EQ(tests[i].expected_time, actual) << "With test = { start:" | 342 EXPECT_EQ(tests[i].expected_time, actual) << "With test = { start:" |
| 343 << tests[i].first_time_useconds << ", duration:" | 343 << tests[i].first_time_useconds << ", duration:" |
| 344 << tests[i].duration_useconds << ", consumed:" | 344 << tests[i].duration_useconds << ", consumed:" |
| 345 << tests[i].consume_bytes << "}\n"; | 345 << tests[i].consume_bytes << "}\n"; |
| 346 | 346 |
| 347 buffer_.Clear(); | 347 buffer_.Clear(); |
| 348 } | 348 } |
| 349 } | 349 } |
| 350 | 350 |
| 351 } // namespace | 351 } // namespace |
| OLD | NEW |