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

Unified Diff: media/base/pipeline.cc

Issue 11492003: Encrypted Media: Support Audio Decrypt-Only. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comments mostly resolved (I believe); need to add/update tests if this looks good Created 8 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 side-by-side diff with in-line comments
Download patch
Index: media/base/pipeline.cc
diff --git a/media/base/pipeline.cc b/media/base/pipeline.cc
index fd8b902d7f3808bb296fae869dde8e0aefee8303..e7977fb9aa93ea0e94a9e8d678df31bcb2ae796a 100644
--- a/media/base/pipeline.cc
+++ b/media/base/pipeline.cc
@@ -106,7 +106,8 @@ void Pipeline::Start(scoped_ptr<FilterCollection> collection,
const PipelineStatusCB& ended_cb,
const PipelineStatusCB& error_cb,
const PipelineStatusCB& seek_cb,
- const BufferingStateCB& buffering_state_cb) {
+ const BufferingStateCB& buffering_state_cb,
+ const SetDecryptorReadyCB& set_decryptor_ready_cb) {
base::AutoLock auto_lock(lock_);
CHECK(!running_) << "Media pipeline is already running";
DCHECK(!buffering_state_cb.is_null());
@@ -114,7 +115,7 @@ void Pipeline::Start(scoped_ptr<FilterCollection> collection,
running_ = true;
message_loop_->PostTask(FROM_HERE, base::Bind(
&Pipeline::StartTask, this, base::Passed(&collection),
- ended_cb, error_cb, seek_cb, buffering_state_cb));
+ ended_cb, error_cb, seek_cb, buffering_state_cb, set_decryptor_ready_cb));
}
void Pipeline::Stop(const base::Closure& stop_cb) {
@@ -697,7 +698,8 @@ void Pipeline::StartTask(scoped_ptr<FilterCollection> filter_collection,
const PipelineStatusCB& ended_cb,
const PipelineStatusCB& error_cb,
const PipelineStatusCB& seek_cb,
- const BufferingStateCB& buffering_state_cb) {
+ const BufferingStateCB& buffering_state_cb,
+ const SetDecryptorReadyCB& set_decryptor_ready_cb) {
DCHECK(message_loop_->BelongsToCurrentThread());
CHECK_EQ(kCreated, state_)
<< "Media pipeline cannot be started more than once";
@@ -707,6 +709,7 @@ void Pipeline::StartTask(scoped_ptr<FilterCollection> filter_collection,
error_cb_ = error_cb;
seek_cb_ = seek_cb;
buffering_state_cb_ = buffering_state_cb;
+ set_decryptor_ready_cb_ = set_decryptor_ready_cb;
StateTransitionTask(PIPELINE_OK);
}
@@ -889,6 +892,7 @@ void Pipeline::InitializeAudioRenderer(const PipelineStatusCB& done_cb) {
audio_renderer_->Initialize(
stream,
*filter_collection_->GetAudioDecoders(),
+ set_decryptor_ready_cb_,
done_cb,
base::Bind(&Pipeline::OnUpdateStatistics, this),
base::Bind(&Pipeline::OnAudioUnderflow, this),

Powered by Google App Engine
This is Rietveld 408576698