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

Side by Side Diff: remoting/client/audio_decode_scheduler.cc

Issue 1545723002: Use std::move() instead of .Pass() in remoting/* (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@move_not_pass_host
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 | « remoting/base/url_request_context_getter.cc ('k') | remoting/client/audio_player_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 "remoting/client/audio_decode_scheduler.h" 5 #include "remoting/client/audio_decode_scheduler.h"
6 6
7 #include <utility>
8
7 #include "base/bind.h" 9 #include "base/bind.h"
8 #include "base/location.h" 10 #include "base/location.h"
9 #include "base/macros.h" 11 #include "base/macros.h"
10 #include "base/single_thread_task_runner.h" 12 #include "base/single_thread_task_runner.h"
11 #include "remoting/client/audio_player.h" 13 #include "remoting/client/audio_player.h"
12 #include "remoting/codec/audio_decoder.h" 14 #include "remoting/codec/audio_decoder.h"
13 #include "remoting/proto/audio.pb.h" 15 #include "remoting/proto/audio.pb.h"
14 16
15 namespace remoting { 17 namespace remoting {
16 18
(...skipping 29 matching lines...) Expand all
46 48
47 DISALLOW_COPY_AND_ASSIGN(Core); 49 DISALLOW_COPY_AND_ASSIGN(Core);
48 }; 50 };
49 51
50 AudioDecodeScheduler::Core::Core( 52 AudioDecodeScheduler::Core::Core(
51 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, 53 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
52 scoped_refptr<base::SingleThreadTaskRunner> audio_decode_task_runner, 54 scoped_refptr<base::SingleThreadTaskRunner> audio_decode_task_runner,
53 scoped_ptr<AudioPlayer> audio_player) 55 scoped_ptr<AudioPlayer> audio_player)
54 : main_task_runner_(main_task_runner), 56 : main_task_runner_(main_task_runner),
55 audio_decode_task_runner_(audio_decode_task_runner), 57 audio_decode_task_runner_(audio_decode_task_runner),
56 audio_player_(audio_player.Pass()) { 58 audio_player_(std::move(audio_player)) {}
57 }
58 59
59 AudioDecodeScheduler::Core::~Core() { 60 AudioDecodeScheduler::Core::~Core() {}
60 }
61 61
62 void AudioDecodeScheduler::Core::Initialize( 62 void AudioDecodeScheduler::Core::Initialize(
63 const protocol::SessionConfig& config) { 63 const protocol::SessionConfig& config) {
64 DCHECK(main_task_runner_->BelongsToCurrentThread()); 64 DCHECK(main_task_runner_->BelongsToCurrentThread());
65 decoder_.reset(AudioDecoder::CreateAudioDecoder(config).release()); 65 decoder_.reset(AudioDecoder::CreateAudioDecoder(config).release());
66 } 66 }
67 67
68 void AudioDecodeScheduler::Core::ProcessAudioPacket( 68 void AudioDecodeScheduler::Core::ProcessAudioPacket(
69 scoped_ptr<AudioPacket> packet, 69 scoped_ptr<AudioPacket> packet,
70 const base::Closure& done) { 70 const base::Closure& done) {
71 DCHECK(main_task_runner_->BelongsToCurrentThread()); 71 DCHECK(main_task_runner_->BelongsToCurrentThread());
72 audio_decode_task_runner_->PostTask(FROM_HERE, base::Bind( 72 audio_decode_task_runner_->PostTask(FROM_HERE, base::Bind(
73 &AudioDecodeScheduler::Core::DecodePacket, this, 73 &AudioDecodeScheduler::Core::DecodePacket, this,
74 base::Passed(&packet), done)); 74 base::Passed(&packet), done));
75 } 75 }
76 76
77 void AudioDecodeScheduler::Core::Detach() { 77 void AudioDecodeScheduler::Core::Detach() {
78 DCHECK(main_task_runner_->BelongsToCurrentThread()); 78 DCHECK(main_task_runner_->BelongsToCurrentThread());
79 audio_player_.reset(); 79 audio_player_.reset();
80 } 80 }
81 81
82 void AudioDecodeScheduler::Core::DecodePacket( 82 void AudioDecodeScheduler::Core::DecodePacket(
83 scoped_ptr<AudioPacket> packet, 83 scoped_ptr<AudioPacket> packet,
84 const base::Closure& done) { 84 const base::Closure& done) {
85 DCHECK(audio_decode_task_runner_->BelongsToCurrentThread()); 85 DCHECK(audio_decode_task_runner_->BelongsToCurrentThread());
86 scoped_ptr<AudioPacket> decoded_packet = decoder_->Decode(packet.Pass()); 86 scoped_ptr<AudioPacket> decoded_packet = decoder_->Decode(std::move(packet));
87 87
88 main_task_runner_->PostTask(FROM_HERE, base::Bind( 88 main_task_runner_->PostTask(FROM_HERE, base::Bind(
89 &AudioDecodeScheduler::Core::ProcessDecodedPacket, this, 89 &AudioDecodeScheduler::Core::ProcessDecodedPacket, this,
90 base::Passed(&decoded_packet), done)); 90 base::Passed(&decoded_packet), done));
91 } 91 }
92 92
93 void AudioDecodeScheduler::Core::ProcessDecodedPacket( 93 void AudioDecodeScheduler::Core::ProcessDecodedPacket(
94 scoped_ptr<AudioPacket> packet, 94 scoped_ptr<AudioPacket> packet,
95 const base::Closure& done) { 95 const base::Closure& done) {
96 DCHECK(main_task_runner_->BelongsToCurrentThread()); 96 DCHECK(main_task_runner_->BelongsToCurrentThread());
97 // Only process |packet| if it is non-null. 97 // Only process |packet| if it is non-null.
98 if (packet.get() && audio_player_.get()) 98 if (packet.get() && audio_player_.get())
99 audio_player_->ProcessAudioPacket(packet.Pass()); 99 audio_player_->ProcessAudioPacket(std::move(packet));
100 done.Run(); 100 done.Run();
101 } 101 }
102 102
103 AudioDecodeScheduler::AudioDecodeScheduler( 103 AudioDecodeScheduler::AudioDecodeScheduler(
104 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, 104 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
105 scoped_refptr<base::SingleThreadTaskRunner> audio_decode_task_runner, 105 scoped_refptr<base::SingleThreadTaskRunner> audio_decode_task_runner,
106 scoped_ptr<AudioPlayer> audio_player) 106 scoped_ptr<AudioPlayer> audio_player)
107 : core_(new Core(main_task_runner, audio_decode_task_runner, 107 : core_(new Core(main_task_runner, audio_decode_task_runner,
108 audio_player.Pass())) { 108 std::move(audio_player))) {
109 } 109 }
110 110
111 AudioDecodeScheduler::~AudioDecodeScheduler() { 111 AudioDecodeScheduler::~AudioDecodeScheduler() {
112 core_->Detach(); 112 core_->Detach();
113 } 113 }
114 114
115 void AudioDecodeScheduler::Initialize(const protocol::SessionConfig& config) { 115 void AudioDecodeScheduler::Initialize(const protocol::SessionConfig& config) {
116 core_->Initialize(config); 116 core_->Initialize(config);
117 } 117 }
118 118
119 void AudioDecodeScheduler::ProcessAudioPacket(scoped_ptr<AudioPacket> packet, 119 void AudioDecodeScheduler::ProcessAudioPacket(scoped_ptr<AudioPacket> packet,
120 const base::Closure& done) { 120 const base::Closure& done) {
121 core_->ProcessAudioPacket(packet.Pass(), done); 121 core_->ProcessAudioPacket(std::move(packet), done);
122 } 122 }
123 123
124 } // namespace remoting 124 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/base/url_request_context_getter.cc ('k') | remoting/client/audio_player_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698