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

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

Issue 827013005: Avoid double task trampoline for Pipeline state transitions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Cleanup. Created 5 years, 11 months 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
« no previous file with comments | « media/filters/renderer_impl.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/services/mojo_renderer_impl.h" 5 #include "media/mojo/services/mojo_renderer_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback_helpers.h" 8 #include "base/callback_helpers.h"
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 // Bind the mojo InterfacePtr to the message pipe on the 48 // Bind the mojo InterfacePtr to the message pipe on the
49 // current thread so we can use it. The MojoRendererImpl object 49 // current thread so we can use it. The MojoRendererImpl object
50 // is constructed on another thread so we can't do it in the 50 // is constructed on another thread so we can't do it in the
51 // constructor and must pass a message pipe around since 51 // constructor and must pass a message pipe around since
52 // InterfacePtr's are tied to the message loop they were created on. 52 // InterfacePtr's are tied to the message loop they were created on.
53 remote_media_renderer_.Bind(remote_media_renderer_pipe_.Pass()); 53 remote_media_renderer_.Bind(remote_media_renderer_pipe_.Pass());
54 DCHECK(remote_media_renderer_); 54 DCHECK(remote_media_renderer_);
55 remote_media_renderer_.set_client(this); 55 remote_media_renderer_.set_client(this);
56 56
57 demuxer_stream_provider_ = demuxer_stream_provider; 57 demuxer_stream_provider_ = demuxer_stream_provider;
58 // |init_cb| can be called on other thread.
59 init_cb_ = init_cb; 58 init_cb_ = init_cb;
60 ended_cb_ = ended_cb; 59 ended_cb_ = ended_cb;
61 error_cb_ = error_cb; 60 error_cb_ = error_cb;
62 buffering_state_cb_ = buffering_state_cb; 61 buffering_state_cb_ = buffering_state_cb;
63 62
64 // Create audio and video mojo::DemuxerStream and bind its lifetime to the 63 // Create audio and video mojo::DemuxerStream and bind its lifetime to the
65 // pipe. 64 // pipe.
66 DemuxerStream* const audio = 65 DemuxerStream* const audio =
67 demuxer_stream_provider_->GetStream(DemuxerStream::AUDIO); 66 demuxer_stream_provider_->GetStream(DemuxerStream::AUDIO);
68 DemuxerStream* const video = 67 DemuxerStream* const video =
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 207
209 void MojoRendererImpl::OnInitialized() { 208 void MojoRendererImpl::OnInitialized() {
210 DVLOG(1) << __FUNCTION__; 209 DVLOG(1) << __FUNCTION__;
211 DCHECK(task_runner_->BelongsToCurrentThread()); 210 DCHECK(task_runner_->BelongsToCurrentThread());
212 DCHECK(!init_cb_.is_null()); 211 DCHECK(!init_cb_.is_null());
213 212
214 base::ResetAndReturn(&init_cb_).Run(); 213 base::ResetAndReturn(&init_cb_).Run();
215 } 214 }
216 215
217 } // namespace media 216 } // namespace media
OLDNEW
« no previous file with comments | « media/filters/renderer_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698