summaryrefslogtreecommitdiff
path: root/cras/src/tests/audio_thread_unittest.cc
diff options
context:
space:
mode:
authorDylan Reid <dgreid@chromium.org>2014-09-10 11:32:22 -0700
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-09-19 03:00:18 +0000
commit21e764cb9f052a0a193a4c9ec9759117be21cd79 (patch)
tree9f7a7bb2fa85e73d8da01826c7022aa2839fe9e9 /cras/src/tests/audio_thread_unittest.cc
parent670847bca19712e44e2dfbd0c0ca1123d752fdd2 (diff)
downloadadhd-21e764cb9f052a0a193a4c9ec9759117be21cd79.tar.gz
CRAS: Move rstream request to dev_stream.
Move requesting playback samples to a function in dev_stream. This removes one more dependency on rstream from audio_thread and will make a good place to update stream-specific timers in a future change. Change-Id: I3ccf49b17135ab44050be7cecc132021d2ead2c5 Signed-off-by: Dylan Reid <dgreid@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/217533
Diffstat (limited to 'cras/src/tests/audio_thread_unittest.cc')
-rw-r--r--cras/src/tests/audio_thread_unittest.cc42
1 files changed, 23 insertions, 19 deletions
diff --git a/cras/src/tests/audio_thread_unittest.cc b/cras/src/tests/audio_thread_unittest.cc
index 4034b0d8..e87b4550 100644
--- a/cras/src/tests/audio_thread_unittest.cc
+++ b/cras/src/tests/audio_thread_unittest.cc
@@ -29,7 +29,7 @@ struct cap_sleep_frames_call {
static int dev_stream_mix_dont_fill_next;
static unsigned int dev_stream_mix_count;
static unsigned int cras_mix_mute_count;
-static unsigned int cras_rstream_request_audio_called;
+static unsigned int dev_stream_request_playback_samples_called;
static unsigned int cras_rstream_destroy_called;
static unsigned int cras_metrics_log_histogram_called;
static const char *cras_metrics_log_histogram_name;
@@ -620,7 +620,7 @@ class WriteStreamSuite : public testing::Test {
select_max_fd = -1;
select_write_ptr = NULL;
cras_metrics_log_event_called = 0;
- cras_rstream_request_audio_called = 0;
+ dev_stream_request_playback_samples_called = 0;
cras_rstream_destroy_called = 0;
dev_stream_mix_called = 0;
cras_dsp_get_pipeline_called = 0;
@@ -833,7 +833,7 @@ TEST_F(WriteStreamSuite, PossiblyFillGetFromStreamFull) {
EXPECT_GE(ts.tv_nsec, nsec_expected - 1000);
EXPECT_LE(ts.tv_nsec, nsec_expected + 1000);
EXPECT_EQ(cb_threshold_, dev_stream_mix_count);
- EXPECT_EQ(0, cras_rstream_request_audio_called);
+ EXPECT_EQ(0, dev_stream_request_playback_samples_called);
EXPECT_EQ(-1, select_max_fd);
}
@@ -872,7 +872,7 @@ TEST_F(WriteStreamSuite, PossiblyFillGetFromStreamMinSet) {
EXPECT_GE(ts.tv_nsec, nsec_expected - 1000);
EXPECT_LE(ts.tv_nsec, nsec_expected + 1000);
EXPECT_EQ(cb_threshold_, dev_stream_mix_count);
- EXPECT_EQ(1, cras_rstream_request_audio_called);
+ EXPECT_EQ(1, dev_stream_request_playback_samples_called);
}
TEST_F(WriteStreamSuite, PossiblyFillFramesQueued) {
@@ -913,7 +913,7 @@ TEST_F(WriteStreamSuite, PossiblyFillGetFromStreamOneEmpty) {
is_open_ = 1;
rc = unified_io(thread_, &ts);
EXPECT_EQ(0, rc);
- EXPECT_EQ(0, cras_rstream_request_audio_called);
+ EXPECT_EQ(0, dev_stream_request_playback_samples_called);
EXPECT_EQ(-1, select_max_fd);
EXPECT_EQ(0, shm_->area->read_offset[0]);
EXPECT_EQ(0, shm_->area->read_offset[1]);
@@ -950,7 +950,7 @@ TEST_F(WriteStreamSuite, PossiblyFillGetFromStreamNeedFill) {
EXPECT_GE(ts.tv_nsec, nsec_expected - 1000);
EXPECT_LE(ts.tv_nsec, nsec_expected + 1000);
EXPECT_EQ(buffer_frames_ - cb_threshold_, dev_stream_mix_count);
- EXPECT_EQ(1, cras_rstream_request_audio_called);
+ EXPECT_EQ(1, dev_stream_request_playback_samples_called);
EXPECT_NE(-1, select_max_fd);
EXPECT_EQ(0, memcmp(&select_out_fds, &select_in_fds, sizeof(select_in_fds)));
EXPECT_EQ(0, shm_->area->read_offset[0]);
@@ -990,7 +990,7 @@ TEST_F(WriteStreamSuite, PossiblyFillGetFromStreamNeedFillWithScaler) {
EXPECT_LE(ts.tv_nsec, nsec_expected + 1000);
EXPECT_EQ(buffer_frames_ - cb_threshold_,
dev_stream_mix_count);
- EXPECT_EQ(1, cras_rstream_request_audio_called);
+ EXPECT_EQ(1, dev_stream_request_playback_samples_called);
EXPECT_NE(-1, select_max_fd);
EXPECT_EQ(0, memcmp(&select_out_fds, &select_in_fds, sizeof(select_in_fds)));
EXPECT_EQ(0, shm_->area->read_offset[0]);
@@ -1022,7 +1022,7 @@ TEST_F(WriteStreamSuite, PossiblyFillGetFromTwoStreamsFull) {
EXPECT_LE(ts.tv_nsec, nsec_expected + 1000);
EXPECT_EQ(cras_rstream_get_cb_threshold(rstream_),
dev_stream_mix_count);
- EXPECT_EQ(0, cras_rstream_request_audio_called);
+ EXPECT_EQ(0, dev_stream_request_playback_samples_called);
EXPECT_EQ(-1, select_max_fd);
}
@@ -1056,7 +1056,7 @@ TEST_F(WriteStreamSuite, PossiblyFillGetFromTwoOneEmptySmallerCbThreshold) {
EXPECT_GE(ts.tv_nsec, nsec_expected - 1000);
EXPECT_LE(ts.tv_nsec, nsec_expected + 1000);
EXPECT_EQ(0, dev_stream_mix_count);
- EXPECT_EQ(0, cras_rstream_request_audio_called);
+ EXPECT_EQ(0, dev_stream_request_playback_samples_called);
}
TEST_F(WriteStreamSuite, PossiblyFillGetFromTwoOneEmptyAfterFetch) {
@@ -1084,7 +1084,7 @@ TEST_F(WriteStreamSuite, PossiblyFillGetFromTwoOneEmptyAfterFetch) {
EXPECT_EQ(0, rc);
EXPECT_EQ(1, dev_stream_mix_called);
EXPECT_EQ(buffer_frames_ - cb_threshold_, dev_stream_mix_count);
- EXPECT_EQ(1, cras_rstream_request_audio_called);
+ EXPECT_EQ(1, dev_stream_request_playback_samples_called);
EXPECT_NE(-1, select_max_fd);
EXPECT_EQ(0, memcmp(&select_out_fds, &select_in_fds, sizeof(select_in_fds)));
}
@@ -1111,7 +1111,7 @@ TEST_F(WriteStreamSuite, PossiblyFillGetFromTwoStreamsFullOneMixes) {
is_open_ = 1;
rc = unified_io(thread_, &ts);
EXPECT_EQ(0, rc);
- EXPECT_EQ(0, cras_rstream_request_audio_called);
+ EXPECT_EQ(0, dev_stream_request_playback_samples_called);
EXPECT_EQ(0, shm_->area->read_offset[0]); // No write from first stream.
EXPECT_EQ(written_expected * 4, shm2_->area->read_offset[0]);
}
@@ -1139,7 +1139,7 @@ TEST_F(WriteStreamSuite, PossiblyFillGetFromTwoStreamsNeedFill) {
rc = unified_io(thread_, &ts);
EXPECT_EQ(0, rc);
EXPECT_EQ(0, cras_mix_mute_count);
- EXPECT_EQ(2, cras_rstream_request_audio_called);
+ EXPECT_EQ(2, dev_stream_request_playback_samples_called);
EXPECT_NE(-1, select_max_fd);
/* should only mute buffer if underrun in imminent. */
@@ -1180,7 +1180,7 @@ TEST_F(WriteStreamSuite, PossiblyFillGetFromTwoStreamsOneLimited) {
EXPECT_GE(ts.tv_nsec, nsec_expected - 1000);
EXPECT_LE(ts.tv_nsec, nsec_expected + 1000);
EXPECT_EQ(smaller_frames, dev_stream_mix_count);
- EXPECT_EQ(1, cras_rstream_request_audio_called);
+ EXPECT_EQ(1, dev_stream_request_playback_samples_called);
EXPECT_NE(-1, select_max_fd);
}
@@ -2269,12 +2269,6 @@ int cras_set_thread_priority(int priority) {
}
// From rstream.
-int cras_rstream_request_audio(const struct cras_rstream *stream)
-{
- cras_rstream_request_audio_called++;
- return 0;
-}
-
int cras_rstream_get_audio_request_reply(const struct cras_rstream *stream) {
return 0;
}
@@ -2508,6 +2502,16 @@ int dev_stream_capture_sleep_frames(struct dev_stream *dev_stream,
return 0;
}
+int dev_stream_request_playback_samples(struct dev_stream *dev_stream)
+{
+ struct cras_rstream *rstream = dev_stream->stream;
+
+ dev_stream_request_playback_samples_called++;
+
+ cras_shm_set_callback_pending(cras_rstream_output_shm(rstream), 1);
+ return 0;
+}
+
size_t cras_fmt_conv_in_frames_to_out(struct cras_fmt_conv *conv,
size_t in_frames)
{