From: Jaechul Lee Date: Mon, 30 Aug 2021 02:29:13 +0000 (+0900) Subject: Fixes 'Large stack use' X-Git-Tag: submit/tizen/20210830.113039^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f566f604577e99938161bd8a8fd8f7dc18a33027;p=platform%2Fhal%2Fapi%2Faudio.git Fixes 'Large stack use' [Version] 0.0.13 [Issue Type] Coverity Change-Id: I29bef4c66a1f83caefccde31d2c02a13e2495c91 Signed-off-by: Jaechul Lee --- diff --git a/packaging/hal-api-audio.spec b/packaging/hal-api-audio.spec index 6335462..6366983 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.12 +Version: 0.0.13 Release: 0 Group: System/Libraries License: Apache-2.0 diff --git a/testcase/audio_haltests.cpp b/testcase/audio_haltests.cpp index 0392a60..e246dfa 100644 --- a/testcase/audio_haltests.cpp +++ b/testcase/audio_haltests.cpp @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -158,9 +159,10 @@ int32_t AudioHalTest::WritePcmFromFile(pcm_handle pcm_h) int32_t ret = AUDIO_RET_OK; uint32_t avail_frames = 0; int bytes_read; - char buffer[65536]; const char res_path[] = "/usr/share/testcase/res/audio/test_16le_44100_2ch.raw"; + + #ifdef USE_IFSTREAM ifstream fs; fs.open(res_path, fstream::in | fstream::binary); @@ -178,6 +180,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); + while (true) { ret = hal_audio_pcm_avail(m_h, pcm_h, &avail_frames); if (ret == AUDIO_ERR_INTERNAL) @@ -189,15 +193,15 @@ int32_t AudioHalTest::WritePcmFromFile(pcm_handle pcm_h) } #ifdef USE_IFSTREAM - fs.read(buffer, FramesToBytes(avail_frames)); + fs.read(buffer.data(), FramesToBytes(avail_frames)); bytes_read = fs.gcount(); #else - bytes_read = read(fd, buffer, FramesToBytes(avail_frames)); + bytes_read = read(fd, buffer.data(), FramesToBytes(avail_frames)); #endif cout << "avail frames : " << avail_frames << ", read_n : " << bytes_read << endl; - ret = hal_audio_pcm_write(m_h, pcm_h, buffer, BytesToFrames(bytes_read)); + ret = hal_audio_pcm_write(m_h, pcm_h, buffer.data(), BytesToFrames(bytes_read)); if (ret == AUDIO_ERR_INTERNAL) break; @@ -232,11 +236,12 @@ int32_t AudioHalTest::ReadPcmFromDevice(pcm_handle pcm_h) { int32_t ret = AUDIO_RET_OK; uint32_t avail_frames = 0; - char buffer[65536]; int iter_left = 100; cout << "start to record for few seconds..." << endl; + vector buffer(65536); + do { ret = hal_audio_pcm_avail(m_h, pcm_h, &avail_frames); if (ret == AUDIO_ERR_INTERNAL) @@ -247,7 +252,7 @@ int32_t AudioHalTest::ReadPcmFromDevice(pcm_handle pcm_h) continue; } - ret = hal_audio_pcm_read(m_h, pcm_h, buffer, avail_frames); + ret = hal_audio_pcm_read(m_h, pcm_h, buffer.data(), avail_frames); if (ret == AUDIO_ERR_INTERNAL) break;