diff options
author | a.berwal <a.berwal@samsung.com> | 2015-04-22 04:14:50 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-22 11:15:03 +0000 |
commit | 338bf0048faab4c20b0767620c524b9636c31a04 (patch) | |
tree | 9658711dd7bb9040958ad653a6a9c07f5a12376e /chromecast | |
parent | 8636595314c3d46ca4edf53d67403dad56998209 (diff) | |
download | chromium_src-338bf0048faab4c20b0767620c524b9636c31a04.zip chromium_src-338bf0048faab4c20b0767620c524b9636c31a04.tar.gz chromium_src-338bf0048faab4c20b0767620c524b9636c31a04.tar.bz2 |
Switch to double for time calculations using playback rate.
Multiplying an int64 against a float causes the float type to prevail which does not have enough precision for accurate time value computations.
BUG= 475964
TBR=lcwu1, gunsch
Review URL: https://codereview.chromium.org/1094783002
Cr-Commit-Position: refs/heads/master@{#326269}
Diffstat (limited to 'chromecast')
-rw-r--r-- | chromecast/browser/media/cma_message_filter_host.cc | 2 | ||||
-rw-r--r-- | chromecast/browser/media/cma_message_filter_host.h | 2 | ||||
-rw-r--r-- | chromecast/browser/media/media_pipeline_host.cc | 2 | ||||
-rw-r--r-- | chromecast/browser/media/media_pipeline_host.h | 2 | ||||
-rw-r--r-- | chromecast/common/media/cma_messages.h | 2 | ||||
-rw-r--r-- | chromecast/media/base/switching_media_renderer.cc | 2 | ||||
-rw-r--r-- | chromecast/media/base/switching_media_renderer.h | 2 | ||||
-rw-r--r-- | chromecast/media/cma/filters/cma_renderer.cc | 4 | ||||
-rw-r--r-- | chromecast/media/cma/filters/cma_renderer.h | 4 | ||||
-rw-r--r-- | chromecast/media/cma/pipeline/media_pipeline.h | 2 | ||||
-rw-r--r-- | chromecast/media/cma/pipeline/media_pipeline_impl.cc | 2 | ||||
-rw-r--r-- | chromecast/media/cma/pipeline/media_pipeline_impl.h | 2 | ||||
-rw-r--r-- | chromecast/renderer/media/media_pipeline_proxy.cc | 6 | ||||
-rw-r--r-- | chromecast/renderer/media/media_pipeline_proxy.h | 2 |
14 files changed, 18 insertions, 18 deletions
diff --git a/chromecast/browser/media/cma_message_filter_host.cc b/chromecast/browser/media/cma_message_filter_host.cc index 899b9ef..d3664c9 100644 --- a/chromecast/browser/media/cma_message_filter_host.cc +++ b/chromecast/browser/media/cma_message_filter_host.cc @@ -442,7 +442,7 @@ void CmaMessageFilterHost::Stop(int media_id) { } void CmaMessageFilterHost::SetPlaybackRate( - int media_id, float playback_rate) { + int media_id, double playback_rate) { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); MediaPipelineHost* media_pipeline = LookupById(media_id); if (!media_pipeline) diff --git a/chromecast/browser/media/cma_message_filter_host.h b/chromecast/browser/media/cma_message_filter_host.h index 763727c..e000574 100644 --- a/chromecast/browser/media/cma_message_filter_host.h +++ b/chromecast/browser/media/cma_message_filter_host.h @@ -77,7 +77,7 @@ class CmaMessageFilterHost void StartPlayingFrom(int media_id, base::TimeDelta time); void Flush(int media_id); void Stop(int media_id); - void SetPlaybackRate(int media_id, float playback_rate); + void SetPlaybackRate(int media_id, double playback_rate); void SetVolume(int media_id, TrackId track_id, float volume); void NotifyPipeWrite(int media_id, TrackId track_id); void NotifyExternalSurface(int surface_id, diff --git a/chromecast/browser/media/media_pipeline_host.cc b/chromecast/browser/media/media_pipeline_host.cc index ff97612..ff3eb69 100644 --- a/chromecast/browser/media/media_pipeline_host.cc +++ b/chromecast/browser/media/media_pipeline_host.cc @@ -142,7 +142,7 @@ void MediaPipelineHost::Stop() { media_pipeline_->Stop(); } -void MediaPipelineHost::SetPlaybackRate(float playback_rate) { +void MediaPipelineHost::SetPlaybackRate(double playback_rate) { DCHECK(thread_checker_.CalledOnValidThread()); media_pipeline_->SetPlaybackRate(playback_rate); } diff --git a/chromecast/browser/media/media_pipeline_host.h b/chromecast/browser/media/media_pipeline_host.h index 1dea01e..dc15db9 100644 --- a/chromecast/browser/media/media_pipeline_host.h +++ b/chromecast/browser/media/media_pipeline_host.h @@ -59,7 +59,7 @@ class MediaPipelineHost { void Flush(const ::media::PipelineStatusCB& status_cb); void Stop(); - void SetPlaybackRate(float playback_rate); + void SetPlaybackRate(double playback_rate); void SetVolume(TrackId track_id, float playback_rate); void SetCdm(BrowserCdmCast* cdm); diff --git a/chromecast/common/media/cma_messages.h b/chromecast/common/media/cma_messages.h index 414913b..3fbed3d 100644 --- a/chromecast/common/media/cma_messages.h +++ b/chromecast/common/media/cma_messages.h @@ -41,7 +41,7 @@ IPC_MESSAGE_CONTROL1(CmaHostMsg_Stop, int /* Media pipeline ID */) IPC_MESSAGE_CONTROL2(CmaHostMsg_SetPlaybackRate, int /* Media pipeline ID */, - float /* Playback rate */) + double /* Playback rate */) IPC_MESSAGE_CONTROL3(CmaHostMsg_CreateAvPipe, int /* Media pipeline ID */, diff --git a/chromecast/media/base/switching_media_renderer.cc b/chromecast/media/base/switching_media_renderer.cc index 79b7d1ef..b0a12c3 100644 --- a/chromecast/media/base/switching_media_renderer.cc +++ b/chromecast/media/base/switching_media_renderer.cc @@ -78,7 +78,7 @@ void SwitchingMediaRenderer::StartPlayingFrom(base::TimeDelta time) { GetRenderer()->StartPlayingFrom(time); } -void SwitchingMediaRenderer::SetPlaybackRate(float playback_rate) { +void SwitchingMediaRenderer::SetPlaybackRate(double playback_rate) { GetRenderer()->SetPlaybackRate(playback_rate); } diff --git a/chromecast/media/base/switching_media_renderer.h b/chromecast/media/base/switching_media_renderer.h index 2739f40..c32b1d4 100644 --- a/chromecast/media/base/switching_media_renderer.h +++ b/chromecast/media/base/switching_media_renderer.h @@ -43,7 +43,7 @@ class SwitchingMediaRenderer : public ::media::Renderer { const ::media::CdmAttachedCB& cdm_attached_cb) override; void Flush(const base::Closure& flush_cb) override; void StartPlayingFrom(base::TimeDelta time) override; - void SetPlaybackRate(float playback_rate) override; + void SetPlaybackRate(double playback_rate) override; void SetVolume(float volume) override; base::TimeDelta GetMediaTime() override; bool HasAudio() override; diff --git a/chromecast/media/cma/filters/cma_renderer.cc b/chromecast/media/cma/filters/cma_renderer.cc index bc29b4f..0de0634 100644 --- a/chromecast/media/cma/filters/cma_renderer.cc +++ b/chromecast/media/cma/filters/cma_renderer.cc @@ -55,7 +55,7 @@ CmaRenderer::CmaRenderer(scoped_ptr<MediaPipeline> media_pipeline, initial_video_hole_created_(false), time_interpolator_( new ::media::TimeDeltaInterpolator(&default_tick_clock_)), - playback_rate_(1.0f), + playback_rate_(1.0), weak_factory_(this) { weak_this_ = weak_factory_.GetWeakPtr(); thread_checker_.DetachFromThread(); @@ -185,7 +185,7 @@ void CmaRenderer::StartPlayingFrom(base::TimeDelta time) { CompleteStateTransition(kPlaying); } -void CmaRenderer::SetPlaybackRate(float playback_rate) { +void CmaRenderer::SetPlaybackRate(double playback_rate) { CMALOG(kLogControl) << __FUNCTION__ << ": " << playback_rate; DCHECK(thread_checker_.CalledOnValidThread()); media_pipeline_->SetPlaybackRate(playback_rate); diff --git a/chromecast/media/cma/filters/cma_renderer.h b/chromecast/media/cma/filters/cma_renderer.h index 25fec41..d33699e 100644 --- a/chromecast/media/cma/filters/cma_renderer.h +++ b/chromecast/media/cma/filters/cma_renderer.h @@ -50,7 +50,7 @@ class CmaRenderer : public ::media::Renderer { const base::Closure& waiting_for_decryption_key_cb) override; void Flush(const base::Closure& flush_cb) override; void StartPlayingFrom(base::TimeDelta time) override; - void SetPlaybackRate(float playback_rate) override; + void SetPlaybackRate(double playback_rate) override; void SetVolume(float volume) override; base::TimeDelta GetMediaTime() override; bool HasAudio() override; @@ -137,7 +137,7 @@ class CmaRenderer : public ::media::Renderer { // as playback progresses. scoped_ptr< ::media::TimeDeltaInterpolator> time_interpolator_; - float playback_rate_; + double playback_rate_; base::WeakPtr<CmaRenderer> weak_this_; base::WeakPtrFactory<CmaRenderer> weak_factory_; diff --git a/chromecast/media/cma/pipeline/media_pipeline.h b/chromecast/media/cma/pipeline/media_pipeline.h index 2b82c4f..6b127cb 100644 --- a/chromecast/media/cma/pipeline/media_pipeline.h +++ b/chromecast/media/cma/pipeline/media_pipeline.h @@ -57,7 +57,7 @@ class MediaPipeline { virtual void Stop() = 0; // Set the playback rate. - virtual void SetPlaybackRate(float playback_rate) = 0; + virtual void SetPlaybackRate(double playback_rate) = 0; private: DISALLOW_COPY_AND_ASSIGN(MediaPipeline); diff --git a/chromecast/media/cma/pipeline/media_pipeline_impl.cc b/chromecast/media/cma/pipeline/media_pipeline_impl.cc index c713f9a..ced7df14 100644 --- a/chromecast/media/cma/pipeline/media_pipeline_impl.cc +++ b/chromecast/media/cma/pipeline/media_pipeline_impl.cc @@ -263,7 +263,7 @@ void MediaPipelineImpl::Stop() { video_pipeline_->Stop(); } -void MediaPipelineImpl::SetPlaybackRate(float rate) { +void MediaPipelineImpl::SetPlaybackRate(double rate) { CMALOG(kLogControl) << __FUNCTION__ << " rate=" << rate; DCHECK(thread_checker_.CalledOnValidThread()); target_playback_rate_ = rate; diff --git a/chromecast/media/cma/pipeline/media_pipeline_impl.h b/chromecast/media/cma/pipeline/media_pipeline_impl.h index 166b8f9..eb14a55 100644 --- a/chromecast/media/cma/pipeline/media_pipeline_impl.h +++ b/chromecast/media/cma/pipeline/media_pipeline_impl.h @@ -51,7 +51,7 @@ class MediaPipelineImpl : public MediaPipeline { void StartPlayingFrom(base::TimeDelta time) override; void Flush(const ::media::PipelineStatusCB& status_cb) override; void Stop() override; - void SetPlaybackRate(float playback_rate) override; + void SetPlaybackRate(double playback_rate) override; AudioPipelineImpl* GetAudioPipelineImpl() const; VideoPipelineImpl* GetVideoPipelineImpl() const; diff --git a/chromecast/renderer/media/media_pipeline_proxy.cc b/chromecast/renderer/media/media_pipeline_proxy.cc index 7a454b1..830ac0f 100644 --- a/chromecast/renderer/media/media_pipeline_proxy.cc +++ b/chromecast/renderer/media/media_pipeline_proxy.cc @@ -34,7 +34,7 @@ class MediaPipelineProxyInternal { void StartPlayingFrom(const base::TimeDelta& time); void Flush(const ::media::PipelineStatusCB& status_cb); void Stop(); - void SetPlaybackRate(float playback_rate); + void SetPlaybackRate(double playback_rate); private: void Shutdown(); @@ -135,7 +135,7 @@ void MediaPipelineProxyInternal::StartPlayingFrom(const base::TimeDelta& time) { client_.error_cb.Run(::media::PIPELINE_ERROR_ABORT); } -void MediaPipelineProxyInternal::SetPlaybackRate(float playback_rate) { +void MediaPipelineProxyInternal::SetPlaybackRate(double playback_rate) { DCHECK(thread_checker_.CalledOnValidThread()); media_channel_proxy_->Send(scoped_ptr<IPC::Message>( new CmaHostMsg_SetPlaybackRate( @@ -274,7 +274,7 @@ void MediaPipelineProxy::Stop() { FORWARD_ON_IO_THREAD(Stop); } -void MediaPipelineProxy::SetPlaybackRate(float playback_rate) { +void MediaPipelineProxy::SetPlaybackRate(double playback_rate) { DCHECK(thread_checker_.CalledOnValidThread()); FORWARD_ON_IO_THREAD(SetPlaybackRate, playback_rate); } diff --git a/chromecast/renderer/media/media_pipeline_proxy.h b/chromecast/renderer/media/media_pipeline_proxy.h index 0d22795..decec65 100644 --- a/chromecast/renderer/media/media_pipeline_proxy.h +++ b/chromecast/renderer/media/media_pipeline_proxy.h @@ -50,7 +50,7 @@ class MediaPipelineProxy : public MediaPipeline { void StartPlayingFrom(base::TimeDelta time) override; void Flush(const ::media::PipelineStatusCB& status_cb) override; void Stop() override; - void SetPlaybackRate(float playback_rate) override; + void SetPlaybackRate(double playback_rate) override; private: void OnProxyFlushDone(const ::media::PipelineStatusCB& status_cb, |