From 880739be119a4282a484684998426ae7ea1dff52 Mon Sep 17 00:00:00 2001 From: Jaechul Lee Date: Mon, 13 Jun 2022 10:21:18 +0900 Subject: [PATCH] Use single pointer instead of double pointer It doesn't need to use double pointer for getting device params. double pointer makes caller to use complicated params. [Version] 0.0.16 [Issue Type] Improvement Change-Id: I41f568a9f70579dbf84c52ae6bca272dbecc1a6b Signed-off-by: Jaechul Lee --- include/hal-audio-interface.h | 2 +- include/hal-audio.h | 2 +- packaging/hal-api-audio.spec | 2 +- src/hal-api-audio.c | 2 +- testcase/audio_haltests.cpp | 11 +++++------ 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/include/hal-audio-interface.h b/include/hal-audio-interface.h index 5c89f6d..fab8438 100644 --- a/include/hal-audio-interface.h +++ b/include/hal-audio-interface.h @@ -160,7 +160,7 @@ typedef struct _hal_backend_media_audio_funcs { audio_return_e (*pcm_read)(void *audio_handle, void *pcm_handle, void *buffer, uint32_t frames); audio_return_e (*pcm_get_fd)(void *audio_handle, void *pcm_handle, int *fd); audio_return_e (*pcm_recover)(void *audio_handle, void *pcm_handle, int revents); - audio_return_e (*pcm_get_params)(void *audio_handle, void *pcm_handle, uint32_t direction, void **sample_spec, uint32_t *period_size, uint32_t *periods); + audio_return_e (*pcm_get_params)(void *audio_handle, void *pcm_handle, uint32_t direction, void *sample_spec, uint32_t *period_size, uint32_t *periods); audio_return_e (*pcm_set_params)(void *audio_handle, void *pcm_handle, uint32_t direction, void *sample_spec, uint32_t period_size, uint32_t periods); /* Message callback */ audio_return_e (*add_message_cb)(void *audio_handle, message_cb callback, void *user_data); diff --git a/include/hal-audio.h b/include/hal-audio.h index 13767da..d735950 100644 --- a/include/hal-audio.h +++ b/include/hal-audio.h @@ -371,7 +371,7 @@ audio_return_e hal_audio_pcm_recover(void *audio_handle, void *pcm_handle, int r * @retval #AUDIO_RET_OK Success * @see audio_pcm_set_params() */ -audio_return_e hal_audio_pcm_get_params(void *audio_handle, void *pcm_handle, uint32_t direction, void **sample_spec, uint32_t *period_size, uint32_t *periods); +audio_return_e hal_audio_pcm_get_params(void *audio_handle, void *pcm_handle, uint32_t direction, void *sample_spec, uint32_t *period_size, uint32_t *periods); /** * @brief Sets hardware and software parameters of a PCM device. diff --git a/packaging/hal-api-audio.spec b/packaging/hal-api-audio.spec index 542ce2f..1d7c8ec 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.15 +Version: 0.0.16 Release: 0 Group: System/Libraries License: Apache-2.0 diff --git a/src/hal-api-audio.c b/src/hal-api-audio.c index 300998a..14cb37c 100644 --- a/src/hal-api-audio.c +++ b/src/hal-api-audio.c @@ -220,7 +220,7 @@ audio_return_e hal_audio_pcm_recover(void *audio_handle, void *pcm_handle, int r return g_hal_audio_funcs->pcm_recover(audio_handle, pcm_handle, revents); } -audio_return_e hal_audio_pcm_get_params(void *audio_handle, void *pcm_handle, uint32_t direction, void **sample_spec, uint32_t *period_size, uint32_t *periods) +audio_return_e hal_audio_pcm_get_params(void *audio_handle, void *pcm_handle, uint32_t direction, void *sample_spec, uint32_t *period_size, uint32_t *periods) { AUDIO_RETURN_VAL_IF_FAIL(g_hal_audio_funcs, AUDIO_ERR_INTERNAL); AUDIO_RETURN_VAL_IF_FAIL(g_hal_audio_funcs->pcm_get_params, AUDIO_ERR_NOT_IMPLEMENTED); diff --git a/testcase/audio_haltests.cpp b/testcase/audio_haltests.cpp index e648ade..6865410 100644 --- a/testcase/audio_haltests.cpp +++ b/testcase/audio_haltests.cpp @@ -1181,17 +1181,16 @@ TEST_F(AudioHalTest, PcmGetParamP) ASSERT_EQ(ret, AUDIO_RET_OK); // Test Body - audio_pcm_sample_spec_t local_spec {}; - audio_pcm_sample_spec_t* p_spec = &local_spec; + audio_pcm_sample_spec_t p_spec {}; uint32_t period_size = 0; uint32_t periods = 0; - ret = hal_audio_pcm_get_params(m_h, pcm_h, AUDIO_DIRECTION_OUT, (void**)&p_spec, &period_size, &periods); + ret = hal_audio_pcm_get_params(m_h, pcm_h, AUDIO_DIRECTION_OUT, (void *)&p_spec, &period_size, &periods); EXPECT_EQ(ret, AUDIO_RET_OK); - cout << p_spec->format << "," << - p_spec->rate << "," << - static_cast(p_spec->channels) << "," << + cout << p_spec.format << "," << + p_spec.rate << "," << + static_cast(p_spec.channels) << "," << period_size << "," << periods << endl; -- 2.34.1