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

Side by Side Diff: media/mojo/services/mojo_audio_decoder_service.cc

Issue 2568463003: media: Rename MediaKeys to ContentDecryptionModule (Closed)
Patch Set: comments addressed Created 4 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/mojo/services/mojo_audio_decoder_service.h" 5 #include "media/mojo/services/mojo_audio_decoder_service.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "media/base/cdm_context.h" 10 #include "media/base/cdm_context.h"
11 #include "media/base/media_keys.h" 11 #include "media/base/content_decryption_module.h"
12 #include "media/mojo/common/media_type_converters.h" 12 #include "media/mojo/common/media_type_converters.h"
13 #include "media/mojo/common/mojo_decoder_buffer_converter.h" 13 #include "media/mojo/common/mojo_decoder_buffer_converter.h"
14 #include "media/mojo/services/mojo_cdm_service_context.h" 14 #include "media/mojo/services/mojo_cdm_service_context.h"
15 15
16 namespace media { 16 namespace media {
17 17
18 MojoAudioDecoderService::MojoAudioDecoderService( 18 MojoAudioDecoderService::MojoAudioDecoderService(
19 base::WeakPtr<MojoCdmServiceContext> mojo_cdm_service_context, 19 base::WeakPtr<MojoCdmServiceContext> mojo_cdm_service_context,
20 std::unique_ptr<media::AudioDecoder> decoder) 20 std::unique_ptr<media::AudioDecoder> decoder)
21 : mojo_cdm_service_context_(mojo_cdm_service_context), 21 : mojo_cdm_service_context_(mojo_cdm_service_context),
22 decoder_(std::move(decoder)), 22 decoder_(std::move(decoder)),
23 weak_factory_(this) { 23 weak_factory_(this) {
24 weak_this_ = weak_factory_.GetWeakPtr(); 24 weak_this_ = weak_factory_.GetWeakPtr();
25 } 25 }
26 26
27 MojoAudioDecoderService::~MojoAudioDecoderService() {} 27 MojoAudioDecoderService::~MojoAudioDecoderService() {}
28 28
29 void MojoAudioDecoderService::Initialize( 29 void MojoAudioDecoderService::Initialize(
30 mojom::AudioDecoderClientAssociatedPtrInfo client, 30 mojom::AudioDecoderClientAssociatedPtrInfo client,
31 mojom::AudioDecoderConfigPtr config, 31 mojom::AudioDecoderConfigPtr config,
32 int32_t cdm_id, 32 int32_t cdm_id,
33 const InitializeCallback& callback) { 33 const InitializeCallback& callback) {
34 DVLOG(1) << __func__ << " " 34 DVLOG(1) << __func__ << " "
35 << config.To<media::AudioDecoderConfig>().AsHumanReadableString(); 35 << config.To<media::AudioDecoderConfig>().AsHumanReadableString();
36 36
37 // Get CdmContext from cdm_id if the stream is encrypted. 37 // Get CdmContext from cdm_id if the stream is encrypted.
38 CdmContext* cdm_context = nullptr; 38 CdmContext* cdm_context = nullptr;
39 scoped_refptr<MediaKeys> cdm; 39 scoped_refptr<ContentDecryptionModule> cdm;
40 if (config.To<media::AudioDecoderConfig>().is_encrypted()) { 40 if (config.To<media::AudioDecoderConfig>().is_encrypted()) {
41 if (!mojo_cdm_service_context_) { 41 if (!mojo_cdm_service_context_) {
42 DVLOG(1) << "CDM service context not available."; 42 DVLOG(1) << "CDM service context not available.";
43 callback.Run(false, false); 43 callback.Run(false, false);
44 return; 44 return;
45 } 45 }
46 46
47 cdm = mojo_cdm_service_context_->GetCdm(cdm_id); 47 cdm = mojo_cdm_service_context_->GetCdm(cdm_id);
48 if (!cdm) { 48 if (!cdm) {
49 DVLOG(1) << "CDM not found for CDM id: " << cdm_id; 49 DVLOG(1) << "CDM not found for CDM id: " << cdm_id;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 std::move(buffer), base::BindOnce(&MojoAudioDecoderService::OnReadDone, 83 std::move(buffer), base::BindOnce(&MojoAudioDecoderService::OnReadDone,
84 weak_this_, callback)); 84 weak_this_, callback));
85 } 85 }
86 86
87 void MojoAudioDecoderService::Reset(const ResetCallback& callback) { 87 void MojoAudioDecoderService::Reset(const ResetCallback& callback) {
88 DVLOG(1) << __func__; 88 DVLOG(1) << __func__;
89 decoder_->Reset( 89 decoder_->Reset(
90 base::Bind(&MojoAudioDecoderService::OnResetDone, weak_this_, callback)); 90 base::Bind(&MojoAudioDecoderService::OnResetDone, weak_this_, callback));
91 } 91 }
92 92
93 void MojoAudioDecoderService::OnInitialized(const InitializeCallback& callback, 93 void MojoAudioDecoderService::OnInitialized(
94 scoped_refptr<MediaKeys> cdm, 94 const InitializeCallback& callback,
95 bool success) { 95 scoped_refptr<ContentDecryptionModule> cdm,
96 bool success) {
96 DVLOG(1) << __func__ << " success:" << success; 97 DVLOG(1) << __func__ << " success:" << success;
97 98
98 if (success) { 99 if (success) {
99 cdm_ = cdm; 100 cdm_ = cdm;
100 callback.Run(success, decoder_->NeedsBitstreamConversion()); 101 callback.Run(success, decoder_->NeedsBitstreamConversion());
101 } else { 102 } else {
102 // Do not call decoder_->NeedsBitstreamConversion() if init failed. 103 // Do not call decoder_->NeedsBitstreamConversion() if init failed.
103 callback.Run(false, false); 104 callback.Run(false, false);
104 } 105 }
105 } 106 }
(...skipping 28 matching lines...) Expand all
134 135
135 void MojoAudioDecoderService::OnAudioBufferReady( 136 void MojoAudioDecoderService::OnAudioBufferReady(
136 const scoped_refptr<AudioBuffer>& audio_buffer) { 137 const scoped_refptr<AudioBuffer>& audio_buffer) {
137 DVLOG(1) << __func__; 138 DVLOG(1) << __func__;
138 139
139 // TODO(timav): Use DataPipe. 140 // TODO(timav): Use DataPipe.
140 client_->OnBufferDecoded(mojom::AudioBuffer::From(audio_buffer)); 141 client_->OnBufferDecoded(mojom::AudioBuffer::From(audio_buffer));
141 } 142 }
142 143
143 } // namespace media 144 } // namespace media
OLDNEW
« no previous file with comments | « media/mojo/services/mojo_audio_decoder_service.h ('k') | media/mojo/services/mojo_cdm_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698