{.count = 0},
NULL,
},
+ {
+ MMPLAYER_ATTRS_MEDIA_STREAM_INPUT_FORMAT, /* MM_PLAYER_MEDIA_STREAM_INPUT_FORMAT */
+ (char *)"media_stream_input_format",
+ MM_ATTRS_TYPE_INT,
+ MM_ATTRS_FLAG_RW,
+ {(void *)NULL},
+ MM_ATTRS_VALID_TYPE_INT_ARRAY,
+ {.int_array = NULL},
+ {.count = 0},
+ NULL,
+ },
};
/*===========================================================================================
if (type == KEYWORD_A_OFFLOAD_MEDIA_FORMAT) {
while (player->ini.audio_offload_media_format[i++][0])
count++;
+ } else if (type == KEYWORD_MEDIA_STREAM_IN_FORMAT) {
+ while (player->ini.media_stream_input_format[i++][0])
+ count++;
}
return count;
}
if (type == KEYWORD_A_OFFLOAD_MEDIA_FORMAT) {
name = player->ini.audio_offload_media_format[i];
+ } else if (type == KEYWORD_MEDIA_STREAM_IN_FORMAT) {
+ name = player->ini.media_stream_input_format[i];
} else {
LOGE("invalid ini type");
goto EXIT;
if (!strcmp(name, "MP3"))
format = MEDIA_FORMAT_MP3;
+ else if (!strcmp(name, "AAC"))
+ format = MEDIA_FORMAT_AAC;
+ else if (!strcmp(name, "H264_SP"))
+ format = MEDIA_FORMAT_H264_SP;
+ else if (!strcmp(name, "H264_MP"))
+ format = MEDIA_FORMAT_H264_MP;
+ else if (!strcmp(name, "H264_HP"))
+ format = MEDIA_FORMAT_H264_HP;
+ else if (!strcmp(name, "PCM"))
+ format = MEDIA_FORMAT_PCM;
+ else if (!strcmp(name, "PCM_S16LE"))
+ format = MEDIA_FORMAT_PCM_S16LE;
+ else if (!strcmp(name, "PCM_S24LE"))
+ format = MEDIA_FORMAT_PCM_S24LE;
+ else if (!strcmp(name, "PCM_S32LE"))
+ format = MEDIA_FORMAT_PCM_S32LE;
+ else if (!strcmp(name, "PCM_S16BE"))
+ format = MEDIA_FORMAT_PCM_S16BE;
+ else if (!strcmp(name, "PCM_S24BE"))
+ format = MEDIA_FORMAT_PCM_S24BE;
+ else if (!strcmp(name, "PCM_S32BE"))
+ format = MEDIA_FORMAT_PCM_S32BE;
+ else if (!strcmp(name, "PCM_F32LE"))
+ format = MEDIA_FORMAT_PCM_F32LE;
+ else if (!strcmp(name, "PCM_F32BE"))
+ format = MEDIA_FORMAT_PCM_F32BE;
+ else if (!strcmp(name, "PCM_S16LE"))
+ format = MEDIA_FORMAT_PCM_U16LE;
+ else if (!strcmp(name, "PCM_U24LE"))
+ format = MEDIA_FORMAT_PCM_U24LE;
+ else if (!strcmp(name, "PCM_U32LE"))
+ format = MEDIA_FORMAT_PCM_U32LE;
+ else if (!strcmp(name, "PCM_U16BE"))
+ format = MEDIA_FORMAT_PCM_U16BE;
+ else if (!strcmp(name, "PCM_U24BE"))
+ format = MEDIA_FORMAT_PCM_U24BE;
+ else if (!strcmp(name, "PCM_U32BE"))
+ format = MEDIA_FORMAT_PCM_U32BE;
else
LOGE("FIXME: need to modify function to support more format");
player_attrs[MMPLAYER_ATTRS_AUDIO_OFFLOAD_FORMAT].validity_value_2.count = total_count;
}
+ /* supported format of media stream input */
+ total_count = __mmplayer_get_available_format(handle, KEYWORD_MEDIA_STREAM_IN_FORMAT, &format);
+ if (format && total_count > 0) {
+ player_attrs[MMPLAYER_ATTRS_MEDIA_STREAM_INPUT_FORMAT].validity_value_1.int_array = format;
+ player_attrs[MMPLAYER_ATTRS_MEDIA_STREAM_INPUT_FORMAT].validity_value_2.count = total_count;
+ }
+
return MM_ERROR_NONE;
}
player_attrs[MMPLAYER_ATTRS_AUDIO_OFFLOAD_FORMAT].validity_value_2.count = 0;
}
+ mem = (int *)(player_attrs[MMPLAYER_ATTRS_MEDIA_STREAM_INPUT_FORMAT].validity_value_1.int_array);
+ if (mem) {
+ free(mem);
+ player_attrs[MMPLAYER_ATTRS_MEDIA_STREAM_INPUT_FORMAT].validity_value_1.int_array = NULL;
+ player_attrs[MMPLAYER_ATTRS_MEDIA_STREAM_INPUT_FORMAT].validity_value_2.count = 0;
+ }
+
MMPLAYER_FLEAVE();
return MM_ERROR_NONE;
}
iniparser_getstring(dict, "general:audio offload media format", DEFAULT_EMPTY_VALUE), KEYWORD_A_OFFLOAD_MEDIA_FORMAT);
__get_element_list(ini,
+ iniparser_getstring(dict, "general:media stream input format", DEFAULT_EMPTY_VALUE), KEYWORD_MEDIA_STREAM_IN_FORMAT);
+
+ __get_element_list(ini,
iniparser_getstring(dict, "general:unsupported codec keyword", DEFAULT_UNSUPPORTED_CODEC_KEYWORD), KEYWORD_UNSUPPORTED_CODEC);
MMPLAYER_INI_GET_STRING(dict, ini->gst_param[0], "general:gstparam1", DEFAULT_GST_PARAM);
__get_element_list(ini, DEFAULT_CODEC_SW, KEYWORD_V_SW_CODEC);
__get_element_list(ini, DEFAULT_A_OFFLOAD_DEVICE_TYPE, KEYWORD_A_OFFLOAD_DEVICE_TYPE);
__get_element_list(ini, DEFAULT_EMPTY_VALUE, KEYWORD_A_OFFLOAD_MEDIA_FORMAT);
+ __get_element_list(ini, DEFAULT_EMPTY_VALUE, KEYWORD_MEDIA_STREAM_IN_FORMAT);
__get_element_list(ini, DEFAULT_EXCLUDE_KEYWORD, KEYWORD_EXCLUDE);
__get_element_list(ini, DEFAULT_UNSUPPORTED_CODEC_KEYWORD, KEYWORD_UNSUPPORTED_CODEC);
LOGD("audio_offload_device_type [%d] : %s", idx, ini->audio_offload_device_type[idx]);
for (idx = 0; ini->audio_offload_media_format[idx][0] != '\0'; idx++)
LOGD("audio_offload_media_format [%d] : %s", idx, ini->audio_offload_media_format[idx]);
+ for (idx = 0; ini->media_stream_input_format[idx][0] != '\0'; idx++)
+ LOGD("media_stream_input_format [%d] : %s", idx, ini->media_stream_input_format[idx]);
LOGD("generate dot : %d", ini->generate_dot);
LOGD("use system clock(video only) : %d", ini->use_system_clock);
LOGD("live state change timeout(sec) : %d", ini->live_state_change_timeout);
case KEYWORD_A_OFFLOAD_MEDIA_FORMAT:
ini_keyword = ini->audio_offload_media_format;
break;
+ case KEYWORD_MEDIA_STREAM_IN_FORMAT:
+ ini_keyword = ini->media_stream_input_format;
+ break;
default:
goto EXIT;
break;