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

Side by Side Diff: media/renderers/audio_renderer_impl.cc

Issue 935243002: Decryptors can report kNoKey to WebMediaPlayer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Android changes Created 5 years, 9 months 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 (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 "media/renderers/audio_renderer_impl.h" 5 #include "media/renderers/audio_renderer_impl.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 AttemptRead_Locked(); 250 AttemptRead_Locked();
251 } 251 }
252 252
253 void AudioRendererImpl::Initialize( 253 void AudioRendererImpl::Initialize(
254 DemuxerStream* stream, 254 DemuxerStream* stream,
255 const PipelineStatusCB& init_cb, 255 const PipelineStatusCB& init_cb,
256 const SetDecryptorReadyCB& set_decryptor_ready_cb, 256 const SetDecryptorReadyCB& set_decryptor_ready_cb,
257 const StatisticsCB& statistics_cb, 257 const StatisticsCB& statistics_cb,
258 const BufferingStateCB& buffering_state_cb, 258 const BufferingStateCB& buffering_state_cb,
259 const base::Closure& ended_cb, 259 const base::Closure& ended_cb,
260 const PipelineStatusCB& error_cb) { 260 const PipelineStatusCB& error_cb,
261 const base::Closure& waiting_for_decryption_key_cb) {
261 DVLOG(1) << __FUNCTION__; 262 DVLOG(1) << __FUNCTION__;
262 DCHECK(task_runner_->BelongsToCurrentThread()); 263 DCHECK(task_runner_->BelongsToCurrentThread());
263 DCHECK(stream); 264 DCHECK(stream);
264 DCHECK_EQ(stream->type(), DemuxerStream::AUDIO); 265 DCHECK_EQ(stream->type(), DemuxerStream::AUDIO);
265 DCHECK(!init_cb.is_null()); 266 DCHECK(!init_cb.is_null());
266 DCHECK(!statistics_cb.is_null()); 267 DCHECK(!statistics_cb.is_null());
267 DCHECK(!buffering_state_cb.is_null()); 268 DCHECK(!buffering_state_cb.is_null());
268 DCHECK(!ended_cb.is_null()); 269 DCHECK(!ended_cb.is_null());
269 DCHECK(!error_cb.is_null()); 270 DCHECK(!error_cb.is_null());
270 DCHECK_EQ(kUninitialized, state_); 271 DCHECK_EQ(kUninitialized, state_);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 hw_params.bits_per_sample(), 311 hw_params.bits_per_sample(),
311 hardware_config_.GetHighLatencyBufferSize()); 312 hardware_config_.GetHighLatencyBufferSize());
312 } 313 }
313 314
314 audio_clock_.reset( 315 audio_clock_.reset(
315 new AudioClock(base::TimeDelta(), audio_parameters_.sample_rate())); 316 new AudioClock(base::TimeDelta(), audio_parameters_.sample_rate()));
316 317
317 audio_buffer_stream_->Initialize( 318 audio_buffer_stream_->Initialize(
318 stream, base::Bind(&AudioRendererImpl::OnAudioBufferStreamInitialized, 319 stream, base::Bind(&AudioRendererImpl::OnAudioBufferStreamInitialized,
319 weak_factory_.GetWeakPtr()), 320 weak_factory_.GetWeakPtr()),
320 set_decryptor_ready_cb, statistics_cb); 321 set_decryptor_ready_cb, statistics_cb, waiting_for_decryption_key_cb);
321 } 322 }
322 323
323 void AudioRendererImpl::OnAudioBufferStreamInitialized(bool success) { 324 void AudioRendererImpl::OnAudioBufferStreamInitialized(bool success) {
324 DVLOG(1) << __FUNCTION__ << ": " << success; 325 DVLOG(1) << __FUNCTION__ << ": " << success;
325 DCHECK(task_runner_->BelongsToCurrentThread()); 326 DCHECK(task_runner_->BelongsToCurrentThread());
326 327
327 base::AutoLock auto_lock(lock_); 328 base::AutoLock auto_lock(lock_);
328 329
329 if (!success) { 330 if (!success) {
330 state_ = kUninitialized; 331 state_ = kUninitialized;
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 << buffering_state; 739 << buffering_state;
739 DCHECK_NE(buffering_state_, buffering_state); 740 DCHECK_NE(buffering_state_, buffering_state);
740 lock_.AssertAcquired(); 741 lock_.AssertAcquired();
741 buffering_state_ = buffering_state; 742 buffering_state_ = buffering_state;
742 743
743 task_runner_->PostTask(FROM_HERE, 744 task_runner_->PostTask(FROM_HERE,
744 base::Bind(buffering_state_cb_, buffering_state_)); 745 base::Bind(buffering_state_cb_, buffering_state_));
745 } 746 }
746 747
747 } // namespace media 748 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698