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

Unified Diff: chromecast/media/cma/backend/media_clock_device_default.cc

Issue 1372393007: [Chromecast] Upgrade to new CMA backend API (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Address alokp@ comments Created 5 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: chromecast/media/cma/backend/media_clock_device_default.cc
diff --git a/chromecast/media/cma/backend/media_clock_device_default.cc b/chromecast/media/cma/backend/media_clock_device_default.cc
deleted file mode 100644
index 3c7893d42e940e2b28c7beffed53c1dc0af72cf2..0000000000000000000000000000000000000000
--- a/chromecast/media/cma/backend/media_clock_device_default.cc
+++ /dev/null
@@ -1,114 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chromecast/media/cma/backend/media_clock_device_default.h"
-
-#include "media/base/timestamp_constants.h"
-
-namespace chromecast {
-namespace media {
-namespace {
-
-// Return true if transition from |state1| to |state2| is a valid state
-// transition.
-inline static bool IsValidStateTransition(MediaClockDevice::State state1,
- MediaClockDevice::State state2) {
- if (state2 == state1)
- return true;
-
- // All states can transition to |kStateError|.
- if (state2 == MediaClockDevice::kStateError)
- return true;
-
- // All the other valid FSM transitions.
- switch (state1) {
- case MediaClockDevice::kStateUninitialized:
- return state2 == MediaClockDevice::kStateIdle;
- case MediaClockDevice::kStateIdle:
- return state2 == MediaClockDevice::kStateRunning ||
- state2 == MediaClockDevice::kStateUninitialized;
- case MediaClockDevice::kStateRunning:
- return state2 == MediaClockDevice::kStateIdle;
- case MediaClockDevice::kStateError:
- return state2 == MediaClockDevice::kStateUninitialized;
- default:
- return false;
- }
-}
-
-} // namespace
-
-MediaClockDeviceDefault::MediaClockDeviceDefault()
- : state_(kStateUninitialized),
- media_time_(::media::kNoTimestamp()),
- rate_(0.0f) {
- thread_checker_.DetachFromThread();
-}
-
-MediaClockDeviceDefault::~MediaClockDeviceDefault() {
-}
-
-MediaClockDevice::State MediaClockDeviceDefault::GetState() const {
- DCHECK(thread_checker_.CalledOnValidThread());
- return state_;
-}
-
-bool MediaClockDeviceDefault::SetState(State new_state) {
- DCHECK(thread_checker_.CalledOnValidThread());
- DCHECK(IsValidStateTransition(state_, new_state));
-
- if (new_state == state_)
- return true;
-
- state_ = new_state;
-
- if (state_ == kStateRunning) {
- stc_ = base::TimeTicks::Now();
- DCHECK(media_time_ != ::media::kNoTimestamp());
- return true;
- }
-
- if (state_ == kStateIdle) {
- media_time_ = ::media::kNoTimestamp();
- return true;
- }
-
- return true;
-}
-
-bool MediaClockDeviceDefault::ResetTimeline(int64_t time_microseconds) {
- DCHECK(thread_checker_.CalledOnValidThread());
- DCHECK_EQ(state_, kStateIdle);
- media_time_ = base::TimeDelta::FromMicroseconds(time_microseconds);
- return true;
-}
-
-bool MediaClockDeviceDefault::SetRate(float rate) {
- DCHECK(thread_checker_.CalledOnValidThread());
- if (state_ == kStateRunning) {
- base::TimeTicks now = base::TimeTicks::Now();
- media_time_ = media_time_ + (now - stc_) * rate_;
- stc_ = now;
- }
-
- rate_ = rate;
- return true;
-}
-
-int64_t MediaClockDeviceDefault::GetTimeMicroseconds() {
- DCHECK(thread_checker_.CalledOnValidThread());
- if (state_ != kStateRunning)
- return media_time_.InMicroseconds();
-
- if (media_time_ == ::media::kNoTimestamp())
- return media_time_.InMicroseconds();
-
- base::TimeTicks now = base::TimeTicks::Now();
- base::TimeDelta interpolated_media_time =
- media_time_ + (now - stc_) * rate_;
- return interpolated_media_time.InMicroseconds();
-}
-
-} // namespace media
-} // namespace chromecast

Powered by Google App Engine
This is Rietveld 408576698