| OLD | NEW |
| 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/filters/audio_renderer_base.h" | 5 #include "media/filters/audio_renderer_base.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 169 } | 169 } |
| 170 | 170 |
| 171 switch (state_) { | 171 switch (state_) { |
| 172 case kUninitialized: | 172 case kUninitialized: |
| 173 NOTREACHED(); | 173 NOTREACHED(); |
| 174 return; | 174 return; |
| 175 case kPaused: | 175 case kPaused: |
| 176 if (buffer && !buffer->IsEndOfStream()) | 176 if (buffer && !buffer->IsEndOfStream()) |
| 177 algorithm_->EnqueueBuffer(buffer); | 177 algorithm_->EnqueueBuffer(buffer); |
| 178 DCHECK(!pending_read_); | 178 DCHECK(!pending_read_); |
| 179 ResetAndRunCB(&pause_cb_); | 179 pause_cb_.ResetAndRun(); |
| 180 return; | 180 return; |
| 181 case kSeeking: | 181 case kSeeking: |
| 182 if (IsBeforeSeekTime(buffer)) { | 182 if (IsBeforeSeekTime(buffer)) { |
| 183 ScheduleRead_Locked(); | 183 ScheduleRead_Locked(); |
| 184 return; | 184 return; |
| 185 } | 185 } |
| 186 if (buffer && !buffer->IsEndOfStream()) { | 186 if (buffer && !buffer->IsEndOfStream()) { |
| 187 algorithm_->EnqueueBuffer(buffer); | 187 algorithm_->EnqueueBuffer(buffer); |
| 188 if (!algorithm_->IsQueueFull()) | 188 if (!algorithm_->IsQueueFull()) |
| 189 return; | 189 return; |
| 190 } | 190 } |
| 191 state_ = kPaused; | 191 state_ = kPaused; |
| 192 ResetAndRunCB(&seek_cb_, PIPELINE_OK); | 192 seek_cb_.ResetAndRun(PIPELINE_OK); |
| 193 return; | 193 return; |
| 194 case kPlaying: | 194 case kPlaying: |
| 195 case kUnderflow: | 195 case kUnderflow: |
| 196 case kRebuffering: | 196 case kRebuffering: |
| 197 if (buffer && !buffer->IsEndOfStream()) | 197 if (buffer && !buffer->IsEndOfStream()) |
| 198 algorithm_->EnqueueBuffer(buffer); | 198 algorithm_->EnqueueBuffer(buffer); |
| 199 return; | 199 return; |
| 200 case kStopped: | 200 case kStopped: |
| 201 return; | 201 return; |
| 202 } | 202 } |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 303 base::AutoLock auto_lock(lock_); | 303 base::AutoLock auto_lock(lock_); |
| 304 return algorithm_->playback_rate(); | 304 return algorithm_->playback_rate(); |
| 305 } | 305 } |
| 306 | 306 |
| 307 bool AudioRendererBase::IsBeforeSeekTime(const scoped_refptr<Buffer>& buffer) { | 307 bool AudioRendererBase::IsBeforeSeekTime(const scoped_refptr<Buffer>& buffer) { |
| 308 return (state_ == kSeeking) && buffer && !buffer->IsEndOfStream() && | 308 return (state_ == kSeeking) && buffer && !buffer->IsEndOfStream() && |
| 309 (buffer->GetTimestamp() + buffer->GetDuration()) < seek_timestamp_; | 309 (buffer->GetTimestamp() + buffer->GetDuration()) < seek_timestamp_; |
| 310 } | 310 } |
| 311 | 311 |
| 312 } // namespace media | 312 } // namespace media |
| OLD | NEW |