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

Side by Side Diff: content/renderer/media/android/media_source_delegate.cc

Issue 1423163004: media: Replace DecryptorReadyCB with CdmReadyCB. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix android Created 5 years, 1 month 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 "content/renderer/media/android/media_source_delegate.h" 5 #include "content/renderer/media/android/media_source_delegate.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 139
140 // |this| may be destroyed at this point in time as a result of running 140 // |this| may be destroyed at this point in time as a result of running
141 // |stop_cb|. 141 // |stop_cb|.
142 stop_cb.Run(); 142 stop_cb.Run();
143 } 143 }
144 144
145 void MediaSourceDelegate::InitializeMediaSource( 145 void MediaSourceDelegate::InitializeMediaSource(
146 const MediaSourceOpenedCB& media_source_opened_cb, 146 const MediaSourceOpenedCB& media_source_opened_cb,
147 const media::Demuxer::EncryptedMediaInitDataCB& 147 const media::Demuxer::EncryptedMediaInitDataCB&
148 encrypted_media_init_data_cb, 148 encrypted_media_init_data_cb,
149 const media::SetDecryptorReadyCB& set_decryptor_ready_cb, 149 const media::SetCdmReadyCB& set_cdm_ready_cb,
150 const UpdateNetworkStateCB& update_network_state_cb, 150 const UpdateNetworkStateCB& update_network_state_cb,
151 const DurationChangeCB& duration_change_cb, 151 const DurationChangeCB& duration_change_cb,
152 const base::Closure& waiting_for_decryption_key_cb) { 152 const base::Closure& waiting_for_decryption_key_cb) {
153 DCHECK(main_task_runner_->BelongsToCurrentThread()); 153 DCHECK(main_task_runner_->BelongsToCurrentThread());
154 DCHECK(!media_source_opened_cb.is_null()); 154 DCHECK(!media_source_opened_cb.is_null());
155 media_source_opened_cb_ = media_source_opened_cb; 155 media_source_opened_cb_ = media_source_opened_cb;
156 encrypted_media_init_data_cb_ = encrypted_media_init_data_cb; 156 encrypted_media_init_data_cb_ = encrypted_media_init_data_cb;
157 set_decryptor_ready_cb_ = media::BindToCurrentLoop(set_decryptor_ready_cb); 157 set_cdm_ready_cb_ = media::BindToCurrentLoop(set_cdm_ready_cb);
158 update_network_state_cb_ = media::BindToCurrentLoop(update_network_state_cb); 158 update_network_state_cb_ = media::BindToCurrentLoop(update_network_state_cb);
159 duration_change_cb_ = duration_change_cb; 159 duration_change_cb_ = duration_change_cb;
160 waiting_for_decryption_key_cb_ = 160 waiting_for_decryption_key_cb_ =
161 media::BindToCurrentLoop(waiting_for_decryption_key_cb); 161 media::BindToCurrentLoop(waiting_for_decryption_key_cb);
162 access_unit_size_ = kAccessUnitSizeForMediaSource; 162 access_unit_size_ = kAccessUnitSizeForMediaSource;
163 163
164 chunk_demuxer_.reset(new media::ChunkDemuxer( 164 chunk_demuxer_.reset(new media::ChunkDemuxer(
165 media::BindToCurrentLoop( 165 media::BindToCurrentLoop(
166 base::Bind(&MediaSourceDelegate::OnDemuxerOpened, main_weak_this_)), 166 base::Bind(&MediaSourceDelegate::OnDemuxerOpened, main_weak_this_)),
167 media::BindToCurrentLoop(base::Bind( 167 media::BindToCurrentLoop(base::Bind(
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 489
490 if (status != media::PIPELINE_OK) { 490 if (status != media::PIPELINE_OK) {
491 OnDemuxerError(status); 491 OnDemuxerError(status);
492 return; 492 return;
493 } 493 }
494 494
495 audio_stream_ = chunk_demuxer_->GetStream(DemuxerStream::AUDIO); 495 audio_stream_ = chunk_demuxer_->GetStream(DemuxerStream::AUDIO);
496 video_stream_ = chunk_demuxer_->GetStream(DemuxerStream::VIDEO); 496 video_stream_ = chunk_demuxer_->GetStream(DemuxerStream::VIDEO);
497 497
498 if (audio_stream_ && audio_stream_->audio_decoder_config().is_encrypted() && 498 if (audio_stream_ && audio_stream_->audio_decoder_config().is_encrypted() &&
499 !set_decryptor_ready_cb_.is_null()) { 499 !set_cdm_ready_cb_.is_null()) {
500 InitAudioDecryptingDemuxerStream(); 500 InitAudioDecryptingDemuxerStream();
501 // InitVideoDecryptingDemuxerStream() will be called in 501 // InitVideoDecryptingDemuxerStream() will be called in
502 // OnAudioDecryptingDemuxerStreamInitDone(). 502 // OnAudioDecryptingDemuxerStreamInitDone().
503 return; 503 return;
504 } 504 }
505 505
506 if (video_stream_ && video_stream_->video_decoder_config().is_encrypted() && 506 if (video_stream_ && video_stream_->video_decoder_config().is_encrypted() &&
507 !set_decryptor_ready_cb_.is_null()) { 507 !set_cdm_ready_cb_.is_null()) {
508 InitVideoDecryptingDemuxerStream(); 508 InitVideoDecryptingDemuxerStream();
509 return; 509 return;
510 } 510 }
511 511
512 // Notify demuxer ready when both streams are not encrypted. 512 // Notify demuxer ready when both streams are not encrypted.
513 is_demuxer_ready_ = true; 513 is_demuxer_ready_ = true;
514 NotifyDemuxerReady(); 514 NotifyDemuxerReady();
515 } 515 }
516 516
517 void MediaSourceDelegate::InitAudioDecryptingDemuxerStream() { 517 void MediaSourceDelegate::InitAudioDecryptingDemuxerStream() {
518 DCHECK(media_task_runner_->BelongsToCurrentThread()); 518 DCHECK(media_task_runner_->BelongsToCurrentThread());
519 DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_; 519 DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_;
520 DCHECK(!set_decryptor_ready_cb_.is_null()); 520 DCHECK(!set_cdm_ready_cb_.is_null());
521 521
522 audio_decrypting_demuxer_stream_.reset(new media::DecryptingDemuxerStream( 522 audio_decrypting_demuxer_stream_.reset(new media::DecryptingDemuxerStream(
523 media_task_runner_, media_log_, set_decryptor_ready_cb_, 523 media_task_runner_, media_log_, set_cdm_ready_cb_,
524 waiting_for_decryption_key_cb_)); 524 waiting_for_decryption_key_cb_));
525 audio_decrypting_demuxer_stream_->Initialize( 525 audio_decrypting_demuxer_stream_->Initialize(
526 audio_stream_, 526 audio_stream_,
527 base::Bind(&MediaSourceDelegate::OnAudioDecryptingDemuxerStreamInitDone, 527 base::Bind(&MediaSourceDelegate::OnAudioDecryptingDemuxerStreamInitDone,
528 media_weak_factory_.GetWeakPtr())); 528 media_weak_factory_.GetWeakPtr()));
529 } 529 }
530 530
531 void MediaSourceDelegate::InitVideoDecryptingDemuxerStream() { 531 void MediaSourceDelegate::InitVideoDecryptingDemuxerStream() {
532 DCHECK(media_task_runner_->BelongsToCurrentThread()); 532 DCHECK(media_task_runner_->BelongsToCurrentThread());
533 DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_; 533 DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_;
534 DCHECK(!set_decryptor_ready_cb_.is_null()); 534 DCHECK(!set_cdm_ready_cb_.is_null());
535 535
536 video_decrypting_demuxer_stream_.reset(new media::DecryptingDemuxerStream( 536 video_decrypting_demuxer_stream_.reset(new media::DecryptingDemuxerStream(
537 media_task_runner_, media_log_, set_decryptor_ready_cb_, 537 media_task_runner_, media_log_, set_cdm_ready_cb_,
538 waiting_for_decryption_key_cb_)); 538 waiting_for_decryption_key_cb_));
539 video_decrypting_demuxer_stream_->Initialize( 539 video_decrypting_demuxer_stream_->Initialize(
540 video_stream_, 540 video_stream_,
541 base::Bind(&MediaSourceDelegate::OnVideoDecryptingDemuxerStreamInitDone, 541 base::Bind(&MediaSourceDelegate::OnVideoDecryptingDemuxerStreamInitDone,
542 media_weak_factory_.GetWeakPtr())); 542 media_weak_factory_.GetWeakPtr()));
543 } 543 }
544 544
545 void MediaSourceDelegate::OnAudioDecryptingDemuxerStreamInitDone( 545 void MediaSourceDelegate::OnAudioDecryptingDemuxerStreamInitDone(
546 media::PipelineStatus status) { 546 media::PipelineStatus status) {
547 DCHECK(media_task_runner_->BelongsToCurrentThread()); 547 DCHECK(media_task_runner_->BelongsToCurrentThread());
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
751 configs->video_codec = config.codec(); 751 configs->video_codec = config.codec();
752 configs->video_size = config.natural_size(); 752 configs->video_size = config.natural_size();
753 configs->is_video_encrypted = config.is_encrypted(); 753 configs->is_video_encrypted = config.is_encrypted();
754 configs->video_extra_data = config.extra_data(); 754 configs->video_extra_data = config.extra_data();
755 return true; 755 return true;
756 } 756 }
757 return false; 757 return false;
758 } 758 }
759 759
760 } // namespace content 760 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698