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

Unified Diff: chromecast/media/cma/backend/alsa/mock_alsa_wrapper.cc

Issue 2133293003: [Chromecast] Make ALSA rendering delay either accurate or kNoTimestamp (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Fix ALSA unit tests Created 4 years, 5 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/alsa/mock_alsa_wrapper.cc
diff --git a/chromecast/media/cma/backend/alsa/mock_alsa_wrapper.cc b/chromecast/media/cma/backend/alsa/mock_alsa_wrapper.cc
index cb3f2fb460743f2149414230f9aca874850b7485..b7753eaae1762d896521000fd918bfc92e0f959c 100644
--- a/chromecast/media/cma/backend/alsa/mock_alsa_wrapper.cc
+++ b/chromecast/media/cma/backend/alsa/mock_alsa_wrapper.cc
@@ -8,6 +8,7 @@
// Define dummy structs here to avoid linking in the ALSA lib.
struct _snd_pcm_hw_params {};
+struct _snd_pcm_status {};
struct _snd_pcm {};
namespace chromecast {
@@ -25,11 +26,13 @@ class MockAlsaWrapper::FakeAlsaWrapper : public AlsaWrapper {
FakeAlsaWrapper()
: state_(SND_PCM_STATE_RUNNING),
fake_handle_(nullptr),
- fake_pcm_hw_params_(nullptr) {}
+ fake_pcm_hw_params_(nullptr),
+ fake_pcm_status_(nullptr) {}
~FakeAlsaWrapper() override {
delete fake_handle_;
delete fake_pcm_hw_params_;
+ delete fake_pcm_status_;
}
// AlsaWrapper implementation:
@@ -72,6 +75,17 @@ class MockAlsaWrapper::FakeAlsaWrapper : public AlsaWrapper {
return 0;
}
+ int PcmStatusMalloc(snd_pcm_status_t** ptr) override {
+ fake_pcm_status_ = new snd_pcm_status_t();
+ CHECK(fake_pcm_status_);
+ *ptr = fake_pcm_status_;
+ return 0;
+ }
+
+ snd_pcm_state_t PcmStatusGetState(const snd_pcm_status_t* obj) override {
+ return state_;
+ }
+
ssize_t PcmFormatSize(snd_pcm_format_t format, size_t samples) override {
return kBytesPerSample * samples;
};
@@ -83,6 +97,7 @@ class MockAlsaWrapper::FakeAlsaWrapper : public AlsaWrapper {
snd_pcm_state_t state_;
snd_pcm_t* fake_handle_;
snd_pcm_hw_params_t* fake_pcm_hw_params_;
+ snd_pcm_status_t* fake_pcm_status_;
std::vector<uint8_t> data_;
DISALLOW_COPY_AND_ASSIGN(FakeAlsaWrapper);
@@ -106,6 +121,12 @@ MockAlsaWrapper::MockAlsaWrapper() : fake_(new FakeAlsaWrapper()) {
ON_CALL(*this, PcmHwParamsCanPause(_)).WillByDefault(testing::Return(true));
ON_CALL(*this, PcmHwParamsMalloc(_)).WillByDefault(
testing::Invoke(fake_.get(), &FakeAlsaWrapper::PcmHwParamsMalloc));
+ ON_CALL(*this, PcmStatusMalloc(_))
+ .WillByDefault(
+ testing::Invoke(fake_.get(), &FakeAlsaWrapper::PcmStatusMalloc));
+ ON_CALL(*this, PcmStatusGetState(_))
+ .WillByDefault(
+ testing::Invoke(fake_.get(), &FakeAlsaWrapper::PcmStatusGetState));
}
MockAlsaWrapper::~MockAlsaWrapper() {
« no previous file with comments | « chromecast/media/cma/backend/alsa/mock_alsa_wrapper.h ('k') | chromecast/media/cma/backend/alsa/stream_mixer_alsa.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698