From: Seungbae Shin Date: Wed, 29 Sep 2021 03:05:26 +0000 (+0900) Subject: audio_haltests: feed dummy data before pcm start X-Git-Tag: submit/tizen/20211013.065211^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7a6349c09814380938d4c6343eac7a140449326c;p=platform%2Fhal%2Fapi%2Faudio.git audio_haltests: feed dummy data before pcm start [Version] 0.0.15 [Issue Type] Bug Change-Id: I1e0b2298387e56304c22fdf1fe413bb021a991c5 --- diff --git a/packaging/hal-api-audio.spec b/packaging/hal-api-audio.spec index 1ad7dae..542ce2f 100644 --- a/packaging/hal-api-audio.spec +++ b/packaging/hal-api-audio.spec @@ -1,6 +1,6 @@ Name: hal-api-audio Summary: TIZEN Audio HAL -Version: 0.0.14 +Version: 0.0.15 Release: 0 Group: System/Libraries License: Apache-2.0 diff --git a/testcase/audio_haltests.cpp b/testcase/audio_haltests.cpp index d783863..e648ade 100644 --- a/testcase/audio_haltests.cpp +++ b/testcase/audio_haltests.cpp @@ -92,9 +92,10 @@ class AudioHalTest : public testing::Test static void HalMessageCallback(const char *name, int value, void *user_data); // Todo : following value may vary depends on targets - static constexpr int default_frames = 6400; - static constexpr int default_periods = 5; - static constexpr int default_rate = 44100; + static constexpr int default_buffer_size = 16384; + static constexpr int default_periods = 4; + static constexpr int default_period_size = default_buffer_size / default_periods; + static constexpr int default_rate = 48000; static constexpr int default_channels = 2; void *m_h; @@ -180,7 +181,8 @@ int32_t AudioHalTest::WritePcmFromFile(pcm_handle pcm_h) cout << "start to play dtmf+noise sounds ( " << res_path << " ) for 5 sec. " << endl; - vector buffer(65536); + vector buffer(FramesToBytes(default_buffer_size)); + cout << "allocated temporal buffer size " << buffer.size() << " bytes" << endl; while (true) { ret = hal_audio_pcm_avail(m_h, pcm_h, &avail_frames); @@ -193,10 +195,10 @@ int32_t AudioHalTest::WritePcmFromFile(pcm_handle pcm_h) } #ifdef USE_IFSTREAM - fs.read(buffer.data(), FramesToBytes(avail_frames)); + fs.read(buffer.data(), min(FramesToBytes(avail_frames), static_cast(buffer.size()))); bytes_read = fs.gcount(); #else - bytes_read = read(fd, buffer.data(), FramesToBytes(avail_frames)); + bytes_read = read(fd, buffer.data(), min(FramesToBytes(avail_frames), static_cast(buffer.size()))); #endif cout << "avail frames : " << avail_frames << ", read_n : " << bytes_read << endl; @@ -290,7 +292,7 @@ uint32_t AudioHalTest::FramesToBytes(uint32_t frames) const uint32_t AudioHalTest::GetDefaultFrames() const { - return BytesToFrames(default_frames); + return default_period_size; } void AudioHalTest::HalMessageCallback(const char *name, int value, void *user_data) @@ -981,6 +983,10 @@ TEST_F(AudioHalTest, PcmOpenWriteCloseP) ASSERT_EQ(ret, AUDIO_RET_OK); + vector buffer(FramesToBytes(default_period_size)); + ret = hal_audio_pcm_write(m_h, pcm_h, buffer.data(), default_period_size); + EXPECT_EQ(ret, AUDIO_RET_OK); + ret = hal_audio_pcm_start(m_h, pcm_h); EXPECT_EQ(ret, AUDIO_RET_OK);