summaryrefslogtreecommitdiffstats
path: root/chromecast
diff options
context:
space:
mode:
authora.berwal <a.berwal@samsung.com>2015-04-22 04:14:50 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-22 11:15:03 +0000
commit338bf0048faab4c20b0767620c524b9636c31a04 (patch)
tree9658711dd7bb9040958ad653a6a9c07f5a12376e /chromecast
parent8636595314c3d46ca4edf53d67403dad56998209 (diff)
downloadchromium_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.cc2
-rw-r--r--chromecast/browser/media/cma_message_filter_host.h2
-rw-r--r--chromecast/browser/media/media_pipeline_host.cc2
-rw-r--r--chromecast/browser/media/media_pipeline_host.h2
-rw-r--r--chromecast/common/media/cma_messages.h2
-rw-r--r--chromecast/media/base/switching_media_renderer.cc2
-rw-r--r--chromecast/media/base/switching_media_renderer.h2
-rw-r--r--chromecast/media/cma/filters/cma_renderer.cc4
-rw-r--r--chromecast/media/cma/filters/cma_renderer.h4
-rw-r--r--chromecast/media/cma/pipeline/media_pipeline.h2
-rw-r--r--chromecast/media/cma/pipeline/media_pipeline_impl.cc2
-rw-r--r--chromecast/media/cma/pipeline/media_pipeline_impl.h2
-rw-r--r--chromecast/renderer/media/media_pipeline_proxy.cc6
-rw-r--r--chromecast/renderer/media/media_pipeline_proxy.h2
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,