Commit f72e58b2 authored by scherkus@chromium.org's avatar scherkus@chromium.org

Revert 282424 "Remove media::AudioRendererImpl::now_cb_ and clea..."

MSVC evaluates functions in a different order, causing test failures.

> Remove media::AudioRendererImpl::now_cb_ and clean up tests.
> 
> It's no longer needed as of r282376.
> 
> BUG=370634
> R=rileya@chromium.org
> 
> Review URL: https://codereview.chromium.org/380893002

TBR=scherkus@chromium.org

Review URL: https://codereview.chromium.org/380303004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282436 0039d316-1c4b-4281-b951-d872f2087c98
parent 8d93614f
...@@ -52,6 +52,7 @@ AudioRendererImpl::AudioRendererImpl( ...@@ -52,6 +52,7 @@ AudioRendererImpl::AudioRendererImpl(
decoders.Pass(), decoders.Pass(),
set_decryptor_ready_cb), set_decryptor_ready_cb),
hardware_config_(hardware_config), hardware_config_(hardware_config),
now_cb_(base::Bind(&base::TimeTicks::Now)),
state_(kUninitialized), state_(kUninitialized),
buffering_state_(BUFFERING_HAVE_NOTHING), buffering_state_(BUFFERING_HAVE_NOTHING),
rendering_(false), rendering_(false),
......
...@@ -80,6 +80,12 @@ class MEDIA_EXPORT AudioRendererImpl ...@@ -80,6 +80,12 @@ class MEDIA_EXPORT AudioRendererImpl
virtual void StartPlayingFrom(base::TimeDelta timestamp) OVERRIDE; virtual void StartPlayingFrom(base::TimeDelta timestamp) OVERRIDE;
virtual void SetVolume(float volume) OVERRIDE; virtual void SetVolume(float volume) OVERRIDE;
// Allows injection of a custom time callback for non-realtime testing.
typedef base::Callback<base::TimeTicks()> NowCB;
void set_now_cb_for_testing(const NowCB& now_cb) {
now_cb_ = now_cb;
}
private: private:
friend class AudioRendererImplTest; friend class AudioRendererImplTest;
...@@ -215,6 +221,9 @@ class MEDIA_EXPORT AudioRendererImpl ...@@ -215,6 +221,9 @@ class MEDIA_EXPORT AudioRendererImpl
// Callback provided to Flush(). // Callback provided to Flush().
base::Closure flush_cb_; base::Closure flush_cb_;
// Typically calls base::TimeTicks::Now() but can be overridden by a test.
NowCB now_cb_;
// After Initialize() has completed, all variables below must be accessed // After Initialize() has completed, all variables below must be accessed
// under |lock_|. ------------------------------------------------------------ // under |lock_|. ------------------------------------------------------------
base::Lock lock_; base::Lock lock_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment