Index: media/base/android/media_codec_audio_decoder.cc |
diff --git a/media/base/android/media_codec_audio_decoder.cc b/media/base/android/media_codec_audio_decoder.cc |
index 5d6803e7cae5cafffee6299739bba266d60a5ad2..88bdeb5de2ea122a8aeedb6e12634a2b4f18a0a3 100644 |
--- a/media/base/android/media_codec_audio_decoder.cc |
+++ b/media/base/android/media_codec_audio_decoder.cc |
@@ -25,6 +25,7 @@ MediaCodecAudioDecoder::MediaCodecAudioDecoder( |
const base::Closure& starvation_cb, |
const base::Closure& decoder_drained_cb, |
const base::Closure& stop_done_cb, |
+ const base::Closure& key_required_cb, |
const base::Closure& error_cb, |
const SetTimeCallback& update_current_time_cb) |
: MediaCodecDecoder(media_task_runner, |
@@ -32,6 +33,7 @@ MediaCodecAudioDecoder::MediaCodecAudioDecoder( |
starvation_cb, |
decoder_drained_cb, |
stop_done_cb, |
+ key_required_cb, |
error_cb, |
"AudioDecoder"), |
volume_(-1.0), |
@@ -65,6 +67,10 @@ void MediaCodecAudioDecoder::SetDemuxerConfigs(const DemuxerConfigs& configs) { |
output_sampling_rate_ = configs.audio_sampling_rate; |
} |
+bool MediaCodecAudioDecoder::IsContentEncrypted() const { |
+ return configs_.is_audio_encrypted; |
+} |
+ |
void MediaCodecAudioDecoder::ReleaseDecoderResources() { |
DCHECK(media_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << class_name() << "::" << __FUNCTION__; |
@@ -109,14 +115,15 @@ bool MediaCodecAudioDecoder::IsCodecReconfigureNeeded( |
return configs_.audio_codec != next.audio_codec || |
configs_.audio_channels != next.audio_channels || |
configs_.audio_sampling_rate != next.audio_sampling_rate || |
- next.is_audio_encrypted != next.is_audio_encrypted || |
+ configs_.is_audio_encrypted != next.is_audio_encrypted || |
configs_.audio_extra_data.size() != next.audio_extra_data.size() || |
!std::equal(configs_.audio_extra_data.begin(), |
configs_.audio_extra_data.end(), |
next.audio_extra_data.begin()); |
} |
-MediaCodecDecoder::ConfigStatus MediaCodecAudioDecoder::ConfigureInternal() { |
+MediaCodecDecoder::ConfigStatus MediaCodecAudioDecoder::ConfigureInternal( |
+ jobject media_crypto) { |
DCHECK(media_task_runner_->BelongsToCurrentThread()); |
DVLOG(1) << class_name() << "::" << __FUNCTION__; |
@@ -141,7 +148,7 @@ MediaCodecDecoder::ConfigStatus MediaCodecAudioDecoder::ConfigureInternal() { |
configs_.audio_codec_delay_ns, |
configs_.audio_seek_preroll_ns, |
true, |
- GetMediaCrypto().obj())) { |
+ media_crypto)) { |
DVLOG(0) << class_name() << "::" << __FUNCTION__ |
<< " failed: cannot start audio codec"; |