| 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 "webkit/media/crypto/ppapi/clear_key_cdm.h" | 5 #include "webkit/media/crypto/ppapi/clear_key_cdm.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 485 int64 duration_in_microseconds = last_duration_.InMicroseconds(); | 485 int64 duration_in_microseconds = last_duration_.InMicroseconds(); |
| 486 DCHECK_GT(duration_in_microseconds, 0); | 486 DCHECK_GT(duration_in_microseconds, 0); |
| 487 | 487 |
| 488 int64 timestamp = last_timestamp_.InMicroseconds(); | 488 int64 timestamp = last_timestamp_.InMicroseconds(); |
| 489 int64 bytes_per_sample = channel_count_ * bits_per_channel_ / 8; | 489 int64 bytes_per_sample = channel_count_ * bits_per_channel_ / 8; |
| 490 int64 frame_size = bytes_per_sample * samples_per_second_ * | 490 int64 frame_size = bytes_per_sample * samples_per_second_ * |
| 491 duration_in_microseconds / base::Time::kMicrosecondsPerSecond; | 491 duration_in_microseconds / base::Time::kMicrosecondsPerSecond; |
| 492 | 492 |
| 493 const int kHeaderSize = sizeof(timestamp) + sizeof(frame_size); | 493 const int kHeaderSize = sizeof(timestamp) + sizeof(frame_size); |
| 494 audio_frames->set_buffer(allocator_->Allocate(kHeaderSize + frame_size)); | 494 audio_frames->set_buffer(allocator_->Allocate(kHeaderSize + frame_size)); |
| 495 int64* data = reinterpret_cast<int64*>(audio_frames->buffer()->data()); | 495 uint8_t* data = audio_frames->buffer()->data(); |
| 496 *(data++) = timestamp; | 496 |
| 497 *(data++) = frame_size; | 497 memcpy(data, ×tamp, sizeof(timestamp)); |
| 498 data += sizeof(timestamp); |
| 499 memcpy(data, &frame_size, sizeof(frame_size)); |
| 500 data += sizeof(frame_size); |
| 498 // You won't hear anything because we have all zeros here. But the video | 501 // You won't hear anything because we have all zeros here. But the video |
| 499 // should play just fine! | 502 // should play just fine! |
| 500 memset(data, 0, frame_size); | 503 memset(data, 0, frame_size); |
| 501 } | 504 } |
| 502 #endif // CLEAR_KEY_CDM_USE_FAKE_AUDIO_DECODER | 505 #endif // CLEAR_KEY_CDM_USE_FAKE_AUDIO_DECODER |
| 503 | 506 |
| 504 #if defined(CLEAR_KEY_CDM_USE_FAKE_VIDEO_DECODER) | 507 #if defined(CLEAR_KEY_CDM_USE_FAKE_VIDEO_DECODER) |
| 505 void ClearKeyCdm::GenerateFakeVideoFrame(base::TimeDelta timestamp, | 508 void ClearKeyCdm::GenerateFakeVideoFrame(base::TimeDelta timestamp, |
| 506 cdm::VideoFrame* video_frame) { | 509 cdm::VideoFrame* video_frame) { |
| 507 // Choose non-zero alignment and padding on purpose for testing. | 510 // Choose non-zero alignment and padding on purpose for testing. |
| (...skipping 29 matching lines...) Expand all Loading... |
| 537 | 540 |
| 538 static unsigned char color = 0; | 541 static unsigned char color = 0; |
| 539 color += 10; | 542 color += 10; |
| 540 | 543 |
| 541 memset(reinterpret_cast<void*>(video_frame->frame_buffer()->data()), | 544 memset(reinterpret_cast<void*>(video_frame->frame_buffer()->data()), |
| 542 color, frame_size); | 545 color, frame_size); |
| 543 } | 546 } |
| 544 #endif // CLEAR_KEY_CDM_USE_FAKE_VIDEO_DECODER | 547 #endif // CLEAR_KEY_CDM_USE_FAKE_VIDEO_DECODER |
| 545 | 548 |
| 546 } // namespace webkit_media | 549 } // namespace webkit_media |
| OLD | NEW |