return PLAYER_ERROR_INVALID_PARAMETER;
}
+ if (strncmp(stream_type, "media", strlen("media"))) {
+ int enabled = 0;
+
+ ret = mm_player_get_attribute(handle->mm_handle, NULL, MM_PLAYER_AUDIO_OFFLOAD, &enabled, (char *)NULL);
+ if (ret != MM_ERROR_NONE)
+ return _lplayer_convert_error_code(ret, (char *)__FUNCTION__);
+
+ if (enabled) {
+ LOGW("audio offload will be disabled to support sound stream type: %s", stream_type);
+
+ /* disable the audio offload */
+ ret = mm_player_set_attribute(handle->mm_handle, NULL, MM_PLAYER_AUDIO_OFFLOAD, 0, (char *)NULL);
+ if (ret != MM_ERROR_NONE)
+ return _lplayer_convert_error_code(ret, (char *)__FUNCTION__);
+ }
+ }
+
ret = mm_player_set_sound_stream_info(handle->mm_handle, stream_type, stream_index);
if (ret != MM_ERROR_NONE)
return _lplayer_convert_error_code(ret, (char *)__FUNCTION__);
{
legacy_player_t *handle = (legacy_player_t *)player;
int ret = MM_ERROR_NONE;
- PLAYER_INSTANCE_CHECK(player);
+ gchar *stream_type = NULL;
+ int len = 0;
+ PLAYER_INSTANCE_CHECK(player);
PLAYER_STATE_CHECK(handle, PLAYER_STATE_IDLE);
LOGD("set audio offload %d", enabled);
+ /* check sound stream type */
+ ret = mm_player_get_attribute(handle->mm_handle, NULL, "sound_stream_type", &stream_type, &len, (char *)NULL);
+ if (ret != MM_ERROR_NONE)
+ return _lplayer_convert_error_code(ret, (char *)__FUNCTION__);
+
+ if (stream_type && strncmp(stream_type, "media", strlen("media"))) {
+ LOGE("not supported sound stream type : %s", stream_type);
+ return PLAYER_ERROR_INVALID_OPERATION;
+ }
+
ret = mm_player_set_attribute(handle->mm_handle, NULL, MM_PLAYER_AUDIO_OFFLOAD, (int)enabled, (char *)NULL);
if (ret != MM_ERROR_NONE)
return _lplayer_convert_error_code(ret, (char *)__FUNCTION__);