diff options
author | Dylan Reid <dgreid@chromium.org> | 2014-09-10 11:32:22 -0700 |
---|---|---|
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | 2014-09-19 03:00:18 +0000 |
commit | 21e764cb9f052a0a193a4c9ec9759117be21cd79 (patch) | |
tree | 9f7a7bb2fa85e73d8da01826c7022aa2839fe9e9 /cras/src/tests/audio_thread_unittest.cc | |
parent | 670847bca19712e44e2dfbd0c0ca1123d752fdd2 (diff) | |
download | adhd-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.cc | 42 |
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) { |