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

Side by Side Diff: media/audio/fake_audio_consumer.cc

Issue 16823003: Replace erroneous use of base::Time with base::TimeTicks throughout media code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: s/PresubmitPromptWarning/PresubmitPromptOrNotify/ Created 7 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « media/audio/fake_audio_consumer.h ('k') | media/audio/fake_audio_consumer_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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/audio/fake_audio_consumer.h" 5 #include "media/audio/fake_audio_consumer.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 15 matching lines...) Expand all
26 26
27 FakeAudioConsumer::~FakeAudioConsumer() { 27 FakeAudioConsumer::~FakeAudioConsumer() {
28 DCHECK(read_cb_.is_null()); 28 DCHECK(read_cb_.is_null());
29 } 29 }
30 30
31 void FakeAudioConsumer::Start(const ReadCB& read_cb) { 31 void FakeAudioConsumer::Start(const ReadCB& read_cb) {
32 DCHECK(message_loop_->BelongsToCurrentThread()); 32 DCHECK(message_loop_->BelongsToCurrentThread());
33 DCHECK(read_cb_.is_null()); 33 DCHECK(read_cb_.is_null());
34 DCHECK(!read_cb.is_null()); 34 DCHECK(!read_cb.is_null());
35 read_cb_ = read_cb; 35 read_cb_ = read_cb;
36 next_read_time_ = base::Time::Now(); 36 next_read_time_ = base::TimeTicks::Now();
37 read_task_cb_.Reset(base::Bind( 37 read_task_cb_.Reset(base::Bind(
38 &FakeAudioConsumer::DoRead, base::Unretained(this))); 38 &FakeAudioConsumer::DoRead, base::Unretained(this)));
39 message_loop_->PostTask(FROM_HERE, read_task_cb_.callback()); 39 message_loop_->PostTask(FROM_HERE, read_task_cb_.callback());
40 } 40 }
41 41
42 void FakeAudioConsumer::Stop() { 42 void FakeAudioConsumer::Stop() {
43 DCHECK(message_loop_->BelongsToCurrentThread()); 43 DCHECK(message_loop_->BelongsToCurrentThread());
44 read_cb_.Reset(); 44 read_cb_.Reset();
45 read_task_cb_.Cancel(); 45 read_task_cb_.Cancel();
46 } 46 }
47 47
48 void FakeAudioConsumer::DoRead() { 48 void FakeAudioConsumer::DoRead() {
49 DCHECK(message_loop_->BelongsToCurrentThread()); 49 DCHECK(message_loop_->BelongsToCurrentThread());
50 DCHECK(!read_cb_.is_null()); 50 DCHECK(!read_cb_.is_null());
51 51
52 read_cb_.Run(audio_bus_.get()); 52 read_cb_.Run(audio_bus_.get());
53 53
54 // Need to account for time spent here due to the cost of |read_cb_| as well 54 // Need to account for time spent here due to the cost of |read_cb_| as well
55 // as the imprecision of PostDelayedTask(). 55 // as the imprecision of PostDelayedTask().
56 base::Time now = base::Time::Now(); 56 const base::TimeTicks now = base::TimeTicks::Now();
57 base::TimeDelta delay = next_read_time_ + buffer_duration_ - now; 57 base::TimeDelta delay = next_read_time_ + buffer_duration_ - now;
58 58
59 // If we're behind, find the next nearest ontime interval. 59 // If we're behind, find the next nearest ontime interval.
60 if (delay < base::TimeDelta()) 60 if (delay < base::TimeDelta())
61 delay += buffer_duration_ * (-delay / buffer_duration_ + 1); 61 delay += buffer_duration_ * (-delay / buffer_duration_ + 1);
62 next_read_time_ = now + delay; 62 next_read_time_ = now + delay;
63 63
64 message_loop_->PostDelayedTask(FROM_HERE, read_task_cb_.callback(), delay); 64 message_loop_->PostDelayedTask(FROM_HERE, read_task_cb_.callback(), delay);
65 } 65 }
66 66
67 } // namespace media 67 } // namespace media
OLDNEW
« no previous file with comments | « media/audio/fake_audio_consumer.h ('k') | media/audio/fake_audio_consumer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698