| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/android/media_decoder_job.h" | 5 #include "media/base/android/media_decoder_job.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/callback_helpers.h" | 8 #include "base/callback_helpers.h" |
| 9 #include "base/single_thread_task_runner.h" | 9 #include "base/single_thread_task_runner.h" |
| 10 #include "base/thread_task_runner_handle.h" | 10 #include "base/thread_task_runner_handle.h" |
| (...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 } | 279 } |
| 280 | 280 |
| 281 if (unit.key_id.empty() || unit.iv.empty()) { | 281 if (unit.key_id.empty() || unit.iv.empty()) { |
| 282 DCHECK(unit.iv.empty() || !unit.key_id.empty()); | 282 DCHECK(unit.iv.empty() || !unit.key_id.empty()); |
| 283 return media_codec_bridge_->QueueInputBuffer( | 283 return media_codec_bridge_->QueueInputBuffer( |
| 284 input_buf_index, &unit.data[0], unit.data.size(), unit.timestamp); | 284 input_buf_index, &unit.data[0], unit.data.size(), unit.timestamp); |
| 285 } | 285 } |
| 286 | 286 |
| 287 MediaCodecStatus status = media_codec_bridge_->QueueSecureInputBuffer( | 287 MediaCodecStatus status = media_codec_bridge_->QueueSecureInputBuffer( |
| 288 input_buf_index, | 288 input_buf_index, |
| 289 &unit.data[0], unit.data.size(), | 289 &unit.data[0], unit.data.size(), unit.key_id, unit.iv, |
| 290 reinterpret_cast<const uint8*>(&unit.key_id[0]), unit.key_id.size(), | |
| 291 reinterpret_cast<const uint8*>(&unit.iv[0]), unit.iv.size(), | |
| 292 unit.subsamples.empty() ? NULL : &unit.subsamples[0], | 290 unit.subsamples.empty() ? NULL : &unit.subsamples[0], |
| 293 unit.subsamples.size(), | 291 unit.subsamples.size(), |
| 294 unit.timestamp); | 292 unit.timestamp); |
| 295 | 293 |
| 296 // In case of MEDIA_CODEC_NO_KEY, we must reuse the |input_buf_index_|. | 294 // In case of MEDIA_CODEC_NO_KEY, we must reuse the |input_buf_index_|. |
| 297 // Otherwise MediaDrm will report errors. | 295 // Otherwise MediaDrm will report errors. |
| 298 if (status == MEDIA_CODEC_NO_KEY) | 296 if (status == MEDIA_CODEC_NO_KEY) |
| 299 input_buf_index_ = input_buf_index; | 297 input_buf_index_ = input_buf_index; |
| 300 | 298 |
| 301 return status; | 299 return status; |
| (...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 691 | 689 |
| 692 void MediaDecoderJob::ReleaseMediaCodecBridge() { | 690 void MediaDecoderJob::ReleaseMediaCodecBridge() { |
| 693 if (!media_codec_bridge_) | 691 if (!media_codec_bridge_) |
| 694 return; | 692 return; |
| 695 | 693 |
| 696 media_codec_bridge_.reset(); | 694 media_codec_bridge_.reset(); |
| 697 input_buf_index_ = -1; | 695 input_buf_index_ = -1; |
| 698 } | 696 } |
| 699 | 697 |
| 700 } // namespace media | 698 } // namespace media |
| OLD | NEW |