[0.2.118] support getting audio offload format 17/209717/2 accepted/tizen/unified/20190715.111859 submit/tizen/20190712.083315
authorEunhye Choi <eunhae1.choi@samsung.com>
Wed, 10 Jul 2019 07:31:57 +0000 (16:31 +0900)
committerEunhye Choi <eunhae1.choi@samsung.com>
Thu, 11 Jul 2019 09:38:17 +0000 (18:38 +0900)
- add function to get the supported format information
- add function to get the activation status

Change-Id: I12b3e75503f6bc8cb6dce18e831cec5611fef3e6

legacy/include/legacy_player.h
legacy/src/legacy_player.c
muse/api.list
muse/src/muse_player.c
packaging/mmsvc-player.spec

index c042a7eb6020c95957da2e10e2e127e2be655c41..48333101682e7ee22e2786f30ad69aa6c821d5c2 100644 (file)
@@ -1614,8 +1614,10 @@ int legacy_player_set_replaygain_enabled(legacy_player_h player, bool enabled);
 int legacy_player_is_replaygain_enabled(legacy_player_h player, bool *enabled);
 
 /* audio offload */
-int legacy_player_set_audio_offload_enabled(legacy_player_h player, bool enabled);
-int legacy_player_is_audio_offload_enabled(legacy_player_h player, bool *enabled);
+int legacy_player_audio_offload_get_supported_format(legacy_player_h player, int *len, int **format_info);
+int legacy_player_audio_offload_set_enabled(legacy_player_h player, bool enabled);
+int legacy_player_audio_offload_is_enabled(legacy_player_h player, bool *enabled);
+int legacy_player_audio_offload_is_activated(legacy_player_h player, bool *activated);
 
 /* audio pitch */
 int legacy_player_pitch_set_enabled(legacy_player_h player, bool enabled);
index cb435bab1bfc38b74052fd714beae6ceed6a46bc..35dec4bb7a8895425d623dbb1d05a9ee0b61c76c 100644 (file)
@@ -2768,11 +2768,34 @@ int legacy_player_is_replaygain_enabled(legacy_player_h player, bool *enabled)
        return PLAYER_ERROR_NONE;
 }
 
-int legacy_player_set_audio_offload_enabled(legacy_player_h player, bool enabled)
+int legacy_player_audio_offload_get_supported_format(legacy_player_h player, int *len, int **format_info)
+{
+       int ret = MM_ERROR_NONE;
+       legacy_player_t *handle = (legacy_player_t *)player;
+       mmplayer_attrs_info_t info;
+
+       PLAYER_INSTANCE_CHECK(player);
+       PLAYER_NULL_ARG_CHECK(format_info);
+
+       ret = mm_player_get_attribute_info(handle->mm_handle, "audio_offload_format", &info);
+       if (ret != MM_ERROR_NONE) {
+               LOGE("failed to get attr info 0x%x", ret);
+               return _lplayer_convert_error_code(ret, (char *)__FUNCTION__);
+       }
+
+       LOGD("num of supported format : %d", info.int_array.count);
+       *len = info.int_array.count;
+       *format_info = info.int_array.array;
+
+       return PLAYER_ERROR_NONE;
+}
+
+int legacy_player_audio_offload_set_enabled(legacy_player_h player, bool enabled)
 {
        legacy_player_t *handle = (legacy_player_t *)player;
        int ret = MM_ERROR_NONE;
        PLAYER_INSTANCE_CHECK(player);
+
        PLAYER_STATE_CHECK(handle, PLAYER_STATE_IDLE);
 
        LOGD("set audio offload %d", enabled);
@@ -2784,7 +2807,7 @@ int legacy_player_set_audio_offload_enabled(legacy_player_h player, bool enabled
        return PLAYER_ERROR_NONE;
 }
 
-int legacy_player_is_audio_offload_enabled(legacy_player_h player, bool *enabled)
+int legacy_player_audio_offload_is_enabled(legacy_player_h player, bool *enabled)
 {
        legacy_player_t *handle = (legacy_player_t *)player;
        int ret = MM_ERROR_NONE;
@@ -2806,6 +2829,27 @@ int legacy_player_is_audio_offload_enabled(legacy_player_h player, bool *enabled
        return PLAYER_ERROR_NONE;
 }
 
+int legacy_player_audio_offload_is_activated(legacy_player_h player, bool *activated)
+{
+       legacy_player_t *handle = (legacy_player_t *)player;
+       int ret = MM_ERROR_NONE;
+       PLAYER_INSTANCE_CHECK(player);
+       PLAYER_NULL_ARG_CHECK(activated);
+
+       if (!_lplayer_state_validate(handle, PLAYER_STATE_READY)) {
+               LOGE("PLAYER_ERROR_INVALID_STATE : current state - %d", handle->state);
+               return PLAYER_ERROR_INVALID_STATE;
+       }
+
+       ret = mm_player_audio_offload_is_activated(handle->mm_handle, activated);
+       if (ret != MM_ERROR_NONE)
+               return _lplayer_convert_error_code(ret, (char *)__FUNCTION__);
+
+       LOGD("get audio offload activated: %d", *activated);
+
+       return PLAYER_ERROR_NONE;
+}
+
 int legacy_player_pitch_set_enabled(legacy_player_h player, bool enabled)
 {
        legacy_player_t *handle = (legacy_player_t *)player;
index 30bcf7505595a2854d654d5233a6285281a91600..d7e5a2688f256fb13b3b03b613766d941196ab86 100644 (file)
@@ -98,8 +98,10 @@ set_codec_type
 get_codec_type
 set_replaygain_enabled
 is_replaygain_enabled
-set_audio_offload_enabled
-is_audio_offload_enabled
+audio_offload_get_supported_format
+audio_offload_set_enabled
+audio_offload_is_enabled
+audio_offload_is_activated
 pitch_set_enabled
 pitch_is_enabled
 pitch_set_value
index 6342d3acfbe22d40eee0fc14017aa9bab9aa664e..0682d1c1ffb3020bacdddf7cb2f1a2e1a004976f 100644 (file)
@@ -3378,32 +3378,70 @@ int player_disp_is_replaygain_enabled(muse_module_h module)
        return ret;
 }
 
-int player_disp_set_audio_offload_enabled(muse_module_h module)
+int player_disp_audio_offload_get_supported_format(muse_module_h module)
 {
        int ret = PLAYER_ERROR_NONE;
-       muse_player_api_e api = MUSE_PLAYER_API_SET_AUDIO_OFFLOAD_ENABLED;
+       muse_player_api_e api = MUSE_PLAYER_API_AUDIO_OFFLOAD_GET_SUPPORTED_FORMAT;
+       muse_player_handle_t *muse_player = NULL;
+       int len = 0;
+       int *format_info = NULL;
+
+       muse_player = (muse_player_handle_t *)muse_server_ipc_get_handle(module);
+
+       ret = legacy_player_audio_offload_get_supported_format(muse_player->player_handle, &len, &format_info);
+
+       if (ret != PLAYER_ERROR_NONE || len <= 0 || !format_info)
+               PLAYER_RETURN_MSG(api, ret, module);
+       else
+               PLAYER_RETURN_MSG(api, ret, module,
+                               MUSE_TYPE_INT, "len", len,
+                               MUSE_TYPE_ARRAY, "format_info", len, format_info);
+
+       return ret;
+}
+
+int player_disp_audio_offload_set_enabled(muse_module_h module)
+{
+       int ret = PLAYER_ERROR_NONE;
+       muse_player_api_e api = MUSE_PLAYER_API_AUDIO_OFFLOAD_SET_ENABLED;
        muse_player_handle_t *muse_player = NULL;
        int val = 0;
        muse_player = (muse_player_handle_t *)muse_server_ipc_get_handle(module);
        player_msg_get(val, muse_server_module_get_msg(module));
 
-       ret = legacy_player_set_audio_offload_enabled(muse_player->player_handle, (bool)val);
+       ret = legacy_player_audio_offload_set_enabled(muse_player->player_handle, (bool)val);
 
        PLAYER_RETURN_MSG(api, ret, module);
 
        return ret;
 }
 
-int player_disp_is_audio_offload_enabled(muse_module_h module)
+int player_disp_audio_offload_is_enabled(muse_module_h module)
+{
+       int ret = PLAYER_ERROR_NONE;
+       muse_player_api_e api = MUSE_PLAYER_API_AUDIO_OFFLOAD_IS_ENABLED;
+       muse_player_handle_t *muse_player = NULL;
+       bool val = false;
+
+       muse_player = (muse_player_handle_t *)muse_server_ipc_get_handle(module);
+
+       ret = legacy_player_audio_offload_is_enabled(muse_player->player_handle, &val);
+
+       PLAYER_RETURN_MSG(api, ret, module, MUSE_TYPE_INT, "val", (int)val);
+
+       return ret;
+}
+
+int player_disp_audio_offload_is_activated(muse_module_h module)
 {
        int ret = PLAYER_ERROR_NONE;
-       muse_player_api_e api = MUSE_PLAYER_API_IS_AUDIO_OFFLOAD_ENABLED;
+       muse_player_api_e api = MUSE_PLAYER_API_AUDIO_OFFLOAD_IS_ACTIVATED;
        muse_player_handle_t *muse_player = NULL;
        bool val = false;
 
        muse_player = (muse_player_handle_t *)muse_server_ipc_get_handle(module);
 
-       ret = legacy_player_is_audio_offload_enabled(muse_player->player_handle, &val);
+       ret = legacy_player_audio_offload_is_activated(muse_player->player_handle, &val);
 
        PLAYER_RETURN_MSG(api, ret, module, MUSE_TYPE_INT, "val", (int)val);
 
index aca6a9c4b168c51d541539948eab0d8e8fc92ac8..fbe0b7c0fc8abb6c717b6451d799d8bd95885f16 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mmsvc-player
 Summary:    A Media Player module for muse server
-Version:    0.2.117
+Version:    0.2.118
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0