OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/clients/mojo_renderer.h" | 5 #include "media/mojo/clients/mojo_renderer.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/callback_helpers.h" | 10 #include "base/callback_helpers.h" |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 BindRemoteRendererIfNeeded(); | 105 BindRemoteRendererIfNeeded(); |
106 | 106 |
107 mojom::RendererClientAssociatedPtrInfo client_ptr_info; | 107 mojom::RendererClientAssociatedPtrInfo client_ptr_info; |
108 client_binding_.Bind(&client_ptr_info, remote_renderer_.associated_group()); | 108 client_binding_.Bind(&client_ptr_info, remote_renderer_.associated_group()); |
109 | 109 |
110 // Using base::Unretained(this) is safe because |this| owns | 110 // Using base::Unretained(this) is safe because |this| owns |
111 // |remote_renderer_|, and the callback won't be dispatched if | 111 // |remote_renderer_|, and the callback won't be dispatched if |
112 // |remote_renderer_| is destroyed. | 112 // |remote_renderer_| is destroyed. |
113 remote_renderer_->Initialize( | 113 remote_renderer_->Initialize( |
114 std::move(client_ptr_info), std::move(audio_stream), | 114 std::move(client_ptr_info), std::move(audio_stream), |
115 std::move(video_stream), base::nullopt, | 115 std::move(video_stream), base::nullopt, base::nullopt, |
116 base::Bind(&MojoRenderer::OnInitialized, base::Unretained(this), client)); | 116 base::Bind(&MojoRenderer::OnInitialized, base::Unretained(this), client)); |
117 } | 117 } |
118 | 118 |
119 void MojoRenderer::InitializeRendererFromUrl(media::RendererClient* client) { | 119 void MojoRenderer::InitializeRendererFromUrl(media::RendererClient* client) { |
120 DVLOG(2) << __FUNCTION__; | 120 DVLOG(2) << __FUNCTION__; |
121 DCHECK(task_runner_->BelongsToCurrentThread()); | 121 DCHECK(task_runner_->BelongsToCurrentThread()); |
122 | 122 |
123 BindRemoteRendererIfNeeded(); | 123 BindRemoteRendererIfNeeded(); |
124 | 124 |
125 mojom::RendererClientAssociatedPtrInfo client_ptr_info; | 125 mojom::RendererClientAssociatedPtrInfo client_ptr_info; |
126 client_binding_.Bind(&client_ptr_info, remote_renderer_.associated_group()); | 126 client_binding_.Bind(&client_ptr_info, remote_renderer_.associated_group()); |
127 | 127 |
| 128 MediaUrlParams url_params = demuxer_stream_provider_->GetMediaUrlParams(); |
| 129 |
128 // Using base::Unretained(this) is safe because |this| owns | 130 // Using base::Unretained(this) is safe because |this| owns |
129 // |remote_renderer_|, and the callback won't be dispatched if | 131 // |remote_renderer_|, and the callback won't be dispatched if |
130 // |remote_renderer_| is destroyed. | 132 // |remote_renderer_| is destroyed. |
131 remote_renderer_->Initialize( | 133 remote_renderer_->Initialize( |
132 std::move(client_ptr_info), mojom::DemuxerStreamPtr(), | 134 std::move(client_ptr_info), mojom::DemuxerStreamPtr(), |
133 mojom::DemuxerStreamPtr(), demuxer_stream_provider_->GetUrl(), | 135 mojom::DemuxerStreamPtr(), url_params.media_url, |
| 136 url_params.first_party_for_cookies, |
134 base::Bind(&MojoRenderer::OnInitialized, base::Unretained(this), client)); | 137 base::Bind(&MojoRenderer::OnInitialized, base::Unretained(this), client)); |
135 } | 138 } |
136 | 139 |
137 void MojoRenderer::SetCdm(CdmContext* cdm_context, | 140 void MojoRenderer::SetCdm(CdmContext* cdm_context, |
138 const CdmAttachedCB& cdm_attached_cb) { | 141 const CdmAttachedCB& cdm_attached_cb) { |
139 DVLOG(1) << __FUNCTION__; | 142 DVLOG(1) << __FUNCTION__; |
140 DCHECK(task_runner_->BelongsToCurrentThread()); | 143 DCHECK(task_runner_->BelongsToCurrentThread()); |
141 DCHECK(cdm_context); | 144 DCHECK(cdm_context); |
142 DCHECK(!cdm_attached_cb.is_null()); | 145 DCHECK(!cdm_attached_cb.is_null()); |
143 DCHECK(cdm_attached_cb_.is_null()); | 146 DCHECK(cdm_attached_cb_.is_null()); |
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
410 base::ResetAndReturn(&init_cb_).Run(PIPELINE_ERROR_INITIALIZATION_FAILED); | 413 base::ResetAndReturn(&init_cb_).Run(PIPELINE_ERROR_INITIALIZATION_FAILED); |
411 | 414 |
412 if (!flush_cb_.is_null()) | 415 if (!flush_cb_.is_null()) |
413 base::ResetAndReturn(&flush_cb_).Run(); | 416 base::ResetAndReturn(&flush_cb_).Run(); |
414 | 417 |
415 if (!cdm_attached_cb_.is_null()) | 418 if (!cdm_attached_cb_.is_null()) |
416 base::ResetAndReturn(&cdm_attached_cb_).Run(false); | 419 base::ResetAndReturn(&cdm_attached_cb_).Run(false); |
417 } | 420 } |
418 | 421 |
419 } // namespace media | 422 } // namespace media |
OLD | NEW |