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 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 mojo_stream->set_connection_error_handler( | 101 mojo_stream->set_connection_error_handler( |
102 base::Bind(&MojoRenderer::OnDemuxerStreamConnectionError, | 102 base::Bind(&MojoRenderer::OnDemuxerStreamConnectionError, |
103 base::Unretained(this), mojo_stream.get())); | 103 base::Unretained(this), mojo_stream.get())); |
104 streams_.push_back(std::move(mojo_stream)); | 104 streams_.push_back(std::move(mojo_stream)); |
105 streams.push_back(std::move(video_stream)); | 105 streams.push_back(std::move(video_stream)); |
106 } | 106 } |
107 | 107 |
108 BindRemoteRendererIfNeeded(); | 108 BindRemoteRendererIfNeeded(); |
109 | 109 |
110 mojom::RendererClientAssociatedPtrInfo client_ptr_info; | 110 mojom::RendererClientAssociatedPtrInfo client_ptr_info; |
111 client_binding_.Bind(&client_ptr_info, remote_renderer_.associated_group()); | 111 client_binding_.Bind(&client_ptr_info); |
112 | 112 |
113 // Using base::Unretained(this) is safe because |this| owns | 113 // Using base::Unretained(this) is safe because |this| owns |
114 // |remote_renderer_|, and the callback won't be dispatched if | 114 // |remote_renderer_|, and the callback won't be dispatched if |
115 // |remote_renderer_| is destroyed. | 115 // |remote_renderer_| is destroyed. |
116 remote_renderer_->Initialize( | 116 remote_renderer_->Initialize( |
117 std::move(client_ptr_info), std::move(streams), base::nullopt, | 117 std::move(client_ptr_info), std::move(streams), base::nullopt, |
118 base::nullopt, | 118 base::nullopt, |
119 base::Bind(&MojoRenderer::OnInitialized, base::Unretained(this), client)); | 119 base::Bind(&MojoRenderer::OnInitialized, base::Unretained(this), client)); |
120 } | 120 } |
121 | 121 |
122 void MojoRenderer::InitializeRendererFromUrl(media::RendererClient* client) { | 122 void MojoRenderer::InitializeRendererFromUrl(media::RendererClient* client) { |
123 DVLOG(2) << __func__; | 123 DVLOG(2) << __func__; |
124 DCHECK(task_runner_->BelongsToCurrentThread()); | 124 DCHECK(task_runner_->BelongsToCurrentThread()); |
125 | 125 |
126 BindRemoteRendererIfNeeded(); | 126 BindRemoteRendererIfNeeded(); |
127 | 127 |
128 mojom::RendererClientAssociatedPtrInfo client_ptr_info; | 128 mojom::RendererClientAssociatedPtrInfo client_ptr_info; |
129 client_binding_.Bind(&client_ptr_info, remote_renderer_.associated_group()); | 129 client_binding_.Bind(&client_ptr_info); |
130 | 130 |
131 MediaUrlParams url_params = media_resource_->GetMediaUrlParams(); | 131 MediaUrlParams url_params = media_resource_->GetMediaUrlParams(); |
132 | 132 |
133 // Using base::Unretained(this) is safe because |this| owns | 133 // Using base::Unretained(this) is safe because |this| owns |
134 // |remote_renderer_|, and the callback won't be dispatched if | 134 // |remote_renderer_|, and the callback won't be dispatched if |
135 // |remote_renderer_| is destroyed. | 135 // |remote_renderer_| is destroyed. |
136 std::vector<mojom::DemuxerStreamPtr> streams; | 136 std::vector<mojom::DemuxerStreamPtr> streams; |
137 remote_renderer_->Initialize( | 137 remote_renderer_->Initialize( |
138 std::move(client_ptr_info), std::move(streams), url_params.media_url, | 138 std::move(client_ptr_info), std::move(streams), url_params.media_url, |
139 url_params.first_party_for_cookies, | 139 url_params.first_party_for_cookies, |
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
391 base::ResetAndReturn(&init_cb_).Run(PIPELINE_ERROR_INITIALIZATION_FAILED); | 391 base::ResetAndReturn(&init_cb_).Run(PIPELINE_ERROR_INITIALIZATION_FAILED); |
392 | 392 |
393 if (!flush_cb_.is_null()) | 393 if (!flush_cb_.is_null()) |
394 base::ResetAndReturn(&flush_cb_).Run(); | 394 base::ResetAndReturn(&flush_cb_).Run(); |
395 | 395 |
396 if (!cdm_attached_cb_.is_null()) | 396 if (!cdm_attached_cb_.is_null()) |
397 base::ResetAndReturn(&cdm_attached_cb_).Run(false); | 397 base::ResetAndReturn(&cdm_attached_cb_).Run(false); |
398 } | 398 } |
399 | 399 |
400 } // namespace media | 400 } // namespace media |
OLD | NEW |