Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Side by Side Diff: media/base/android/media_decoder_job.cc

Issue 1472943002: Refactor MediaCodecBridge to add support for NDK APIs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressing comments Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698