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

Side by Side Diff: media/base/pipeline.cc

Issue 1544313002: Convert Pass()→std::move() in //media (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 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/base/media_log.cc ('k') | media/base/pipeline_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/base/pipeline.h" 5 #include "media/base/pipeline.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility>
8 9
9 #include "base/bind.h" 10 #include "base/bind.h"
10 #include "base/bind_helpers.h" 11 #include "base/bind_helpers.h"
11 #include "base/callback.h" 12 #include "base/callback.h"
12 #include "base/callback_helpers.h" 13 #include "base/callback_helpers.h"
13 #include "base/command_line.h" 14 #include "base/command_line.h"
14 #include "base/compiler_specific.h" 15 #include "base/compiler_specific.h"
15 #include "base/location.h" 16 #include "base/location.h"
16 #include "base/metrics/histogram.h" 17 #include "base/metrics/histogram.h"
17 #include "base/single_thread_task_runner.h" 18 #include "base/single_thread_task_runner.h"
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 DCHECK(!error_cb.is_null()); 74 DCHECK(!error_cb.is_null());
74 DCHECK(!seek_cb.is_null()); 75 DCHECK(!seek_cb.is_null());
75 DCHECK(!metadata_cb.is_null()); 76 DCHECK(!metadata_cb.is_null());
76 DCHECK(!buffering_state_cb.is_null()); 77 DCHECK(!buffering_state_cb.is_null());
77 78
78 base::AutoLock auto_lock(lock_); 79 base::AutoLock auto_lock(lock_);
79 CHECK(!running_) << "Media pipeline is already running"; 80 CHECK(!running_) << "Media pipeline is already running";
80 running_ = true; 81 running_ = true;
81 82
82 demuxer_ = demuxer; 83 demuxer_ = demuxer;
83 renderer_ = renderer.Pass(); 84 renderer_ = std::move(renderer);
84 ended_cb_ = ended_cb; 85 ended_cb_ = ended_cb;
85 error_cb_ = error_cb; 86 error_cb_ = error_cb;
86 seek_cb_ = seek_cb; 87 seek_cb_ = seek_cb;
87 metadata_cb_ = metadata_cb; 88 metadata_cb_ = metadata_cb;
88 buffering_state_cb_ = buffering_state_cb; 89 buffering_state_cb_ = buffering_state_cb;
89 duration_change_cb_ = duration_change_cb; 90 duration_change_cb_ = duration_change_cb;
90 add_text_track_cb_ = add_text_track_cb; 91 add_text_track_cb_ = add_text_track_cb;
91 waiting_for_decryption_key_cb_ = waiting_for_decryption_key_cb; 92 waiting_for_decryption_key_cb_ = waiting_for_decryption_key_cb;
92 93
93 task_runner_->PostTask( 94 task_runner_->PostTask(
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 void Pipeline::Suspend(const PipelineStatusCB& suspend_cb) { 142 void Pipeline::Suspend(const PipelineStatusCB& suspend_cb) {
142 task_runner_->PostTask( 143 task_runner_->PostTask(
143 FROM_HERE, base::Bind(&Pipeline::SuspendTask, weak_factory_.GetWeakPtr(), 144 FROM_HERE, base::Bind(&Pipeline::SuspendTask, weak_factory_.GetWeakPtr(),
144 suspend_cb)); 145 suspend_cb));
145 } 146 }
146 147
147 void Pipeline::Resume(scoped_ptr<Renderer> renderer, 148 void Pipeline::Resume(scoped_ptr<Renderer> renderer,
148 base::TimeDelta timestamp, 149 base::TimeDelta timestamp,
149 const PipelineStatusCB& seek_cb) { 150 const PipelineStatusCB& seek_cb) {
150 task_runner_->PostTask( 151 task_runner_->PostTask(
151 FROM_HERE, base::Bind(&Pipeline::ResumeTask, weak_factory_.GetWeakPtr(), 152 FROM_HERE,
152 base::Passed(renderer.Pass()), timestamp, seek_cb)); 153 base::Bind(&Pipeline::ResumeTask, weak_factory_.GetWeakPtr(),
154 base::Passed(std::move(renderer)), timestamp, seek_cb));
153 } 155 }
154 156
155 float Pipeline::GetVolume() const { 157 float Pipeline::GetVolume() const {
156 base::AutoLock auto_lock(lock_); 158 base::AutoLock auto_lock(lock_);
157 return volume_; 159 return volume_;
158 } 160 }
159 161
160 void Pipeline::SetVolume(float volume) { 162 void Pipeline::SetVolume(float volume) {
161 if (volume < 0.0f || volume > 1.0f) 163 if (volume < 0.0f || volume > 1.0f)
162 return; 164 return;
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after
700 if (state_ != kSuspended) { 702 if (state_ != kSuspended) {
701 DCHECK(state_ == kStopping || state_ == kStopped) 703 DCHECK(state_ == kStopping || state_ == kStopped)
702 << "Receive resume in unexpected state: " << state_; 704 << "Receive resume in unexpected state: " << state_;
703 seek_cb.Run(PIPELINE_ERROR_INVALID_STATE); 705 seek_cb.Run(PIPELINE_ERROR_INVALID_STATE);
704 return; 706 return;
705 } 707 }
706 DCHECK(!renderer_); 708 DCHECK(!renderer_);
707 DCHECK(!pending_callbacks_.get()); 709 DCHECK(!pending_callbacks_.get());
708 710
709 SetState(kResuming); 711 SetState(kResuming);
710 renderer_ = renderer.Pass(); 712 renderer_ = std::move(renderer);
711 713
712 // Set up for a seek. (Matches setup in SeekTask().) 714 // Set up for a seek. (Matches setup in SeekTask().)
713 // TODO(sandersd): Share implementation with SeekTask(). 715 // TODO(sandersd): Share implementation with SeekTask().
714 seek_cb_ = seek_cb; 716 seek_cb_ = seek_cb;
715 renderer_ended_ = false; 717 renderer_ended_ = false;
716 text_renderer_ended_ = false; 718 text_renderer_ended_ = false;
717 start_timestamp_ = std::max(timestamp, demuxer_->GetStartTime()); 719 start_timestamp_ = std::max(timestamp, demuxer_->GetStartTime());
718 720
719 // Queue the asynchronous actions required to start playback. Unlike DoSeek(), 721 // Queue the asynchronous actions required to start playback. Unlike DoSeek(),
720 // we need to initialize the renderer ourselves (we don't want to enter state 722 // we need to initialize the renderer ourselves (we don't want to enter state
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
861 metadata_cb_.Run(metadata); 863 metadata_cb_.Run(metadata);
862 } 864 }
863 865
864 void Pipeline::BufferingStateChanged(BufferingState new_buffering_state) { 866 void Pipeline::BufferingStateChanged(BufferingState new_buffering_state) {
865 DVLOG(1) << __FUNCTION__ << "(" << new_buffering_state << ") "; 867 DVLOG(1) << __FUNCTION__ << "(" << new_buffering_state << ") ";
866 DCHECK(task_runner_->BelongsToCurrentThread()); 868 DCHECK(task_runner_->BelongsToCurrentThread());
867 buffering_state_cb_.Run(new_buffering_state); 869 buffering_state_cb_.Run(new_buffering_state);
868 } 870 }
869 871
870 } // namespace media 872 } // namespace media
OLDNEW
« no previous file with comments | « media/base/media_log.cc ('k') | media/base/pipeline_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698