Use single pointer instead of double pointer 00/276200/1 accepted/tizen_7.0_unified accepted/tizen_7.0_unified_hotfix tizen_7.0 tizen_7.0_hotfix accepted/tizen/7.0/unified/20221110.062957 accepted/tizen/7.0/unified/hotfix/20221116.110318 accepted/tizen/unified/20220628.133619 submit/tizen/20220627.045454 submit/tizen/20220627.084702 submit/tizen/20220628.002620 tizen_7.0_m2_release
authorJaechul Lee <jcsing.lee@samsung.com>
Mon, 13 Jun 2022 01:21:18 +0000 (10:21 +0900)
committerJaechul Lee <jcsing.lee@samsung.com>
Mon, 13 Jun 2022 01:56:59 +0000 (10:56 +0900)
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 <jcsing.lee@samsung.com>
include/hal-audio-interface.h
include/hal-audio.h
packaging/hal-api-audio.spec
src/hal-api-audio.c
testcase/audio_haltests.cpp

index 5c89f6d8497b174fca81b35b64e7875baffad627..fab8438ff5c2925868876a251b686e9118558445 100644 (file)
@@ -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);
index 13767da469b463abc647a7e3b32cf04ab19ed215..d7359503bd8b5768f1a28423226229e6143c1809 100644 (file)
@@ -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.
index 542ce2fbf64c84730da53f1056492bccba021ef7..1d7c8ec33bfc549b455042da707902d9372b290a 100644 (file)
@@ -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
index 300998a785bfcb5371e807508ad3651059972101..14cb37c03cbbc51a068da3dece11b25ab634e804 100644 (file)
@@ -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);
index e648ade73d5027f966f09453f3f10b52180f8a60..6865410ad00bdaa83f5bfb2da5fe75e3521f96f9 100644 (file)
@@ -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<int>(p_spec->channels) << "," <<
+       cout << p_spec.format << "," <<
+                       p_spec.rate << "," <<
+                       static_cast<int>(p_spec.channels) << "," <<
                        period_size << "," <<
                        periods << endl;