} else if (strstr(type, "audio/x-amr-nb-sh")
|| strstr(type, "audio/x-amr-wb-sh")) {
gst_handle->demux = gst_element_factory_make("amrparse", NULL);
+ } else if (strstr(type, "audio/x-wav")) {
+ gst_handle->demux = gst_element_factory_make("wavparse", NULL);
}
g_free(type);
if (!gst_handle->demux) {
}
} else if ((strstr(type, "adts"))
|| (strstr(type, "audio/mpeg"))
+ || (strstr(type, "audio/x-wav"))
|| (strstr(type, "application/x-id3"))
|| (strstr(type, "audio/x-amr-nb-sh"))
|| (strstr(type, "audio/x-amr-wb-sh"))) {
bit = 16; /* default */
if (media_format_set_audio_bit(format, bit))
goto ERROR;
+ } else if (gst_structure_has_name(struc, "audio/x-wav")) {
+ gst_structure_get_int(struc, "channels", &channels);
+ gst_structure_get_int(struc, "rate", &rate);
+ gst_structure_get_int(struc, "bit", &bit);
+ if (media_format_set_audio_mime(format, MEDIA_FORMAT_PCM))
+ goto ERROR;
+ if (channels == 0)
+ channels = 2; /* default */
+ if (media_format_set_audio_channel(format, channels))
+ goto ERROR;
+ if (rate == 0)
+ rate = 44100; /* default */
+ if (media_format_set_audio_samplerate(format, rate))
+ goto ERROR;
+ if (bit == 0)
+ bit = 16; /* default */
+ if (media_format_set_audio_bit(format, bit))
+ goto ERROR;
} else {
MD_I("Audio mime not supported so far\n");
goto ERROR;
goto ERROR;
}
- ret = media_format_create(format);
+ while (count != index) {
+ temp = temp->next;
+ count++;
+ }
+
+ ret = media_format_create(&(temp->format));
if (ret != MEDIA_FORMAT_ERROR_NONE) {
MD_E("Mediaformat creation failed. returned %d\n", ret);
ret = MD_INTERNAL_ERROR;
goto ERROR;
}
- while (count != index) {
- temp = temp->next;
- count++;
- }
MD_I("CAPS for selected track [%d] is [%s]\n", index, temp->caps_string);
- MD_I("format ptr[%p]\n", *format);
+ MD_I("format ptr[%p]\n", temp->format);
if (temp->name[0] == 'a') {
MD_I("Setting for Audio \n");
- _set_mime_audio(*format, temp);
+ _set_mime_audio(temp->format, temp);
} else if (temp->name[0] == 'v') {
MD_I("Setting for Video \n");
- _set_mime_video(*format, temp);
+ _set_mime_video(temp->format, temp);
} else
- MD_I("Not supported so far (except audio and video)\n");
+ MD_W("Not supported so far (except audio and video)\n");
+
+ *format = temp->format;
+
MEDIADEMUXER_FLEAVE();
return ret;
ERROR:
mdgst_handle_t *demuxer = (mdgst_handle_t *) pHandle;
media_packet_h mediabuf = NULL;
- media_format_h mediafmt = NULL;
int indx = 0;
char *codec_data = NULL;
char *temp_codec_data = NULL;
}
indx++;
}
- if (atrack->name[0] == 'a') {
- if (media_format_create(&mediafmt)) {
- MD_E("media_format_create failed\n");
- ret = MD_ERROR;
- goto ERROR;
- }
- if (media_format_set_audio_mime(mediafmt, MEDIA_FORMAT_AAC)) {
- MD_E("media_format_set_audio_mime failed\n");
- ret = MD_ERROR;
- goto ERROR;
- }
-
- if (media_packet_create_alloc(mediafmt, NULL, NULL, &mediabuf)) {
+ if (media_packet_create_alloc(atrack->format, NULL, NULL, &mediabuf)) {
MD_E("media_packet_create_alloc failed\n");
ret = MD_ERROR;
goto ERROR;
}
- } else if (atrack->name[0] == 'v') {
- if (media_format_create(&mediafmt)) {
- MD_E("media_format_create failed\n");
- ret = MD_ERROR;
- goto ERROR;
- }
- if (media_format_set_video_mime(mediafmt, MEDIA_FORMAT_H264_SP)) {
- MD_E("media_format_set_ivideo_mime failed\n");
- ret = MD_ERROR;
- goto ERROR;
- }
- if (media_format_set_video_width(mediafmt, 760)) {
- MD_E("media_format_set_video_width failed\n");
- ret = MD_ERROR;
- goto ERROR;
- }
- if (media_format_set_video_height(mediafmt, 480)) {
- MD_E("media_format_set_video_height failed\n");
- ret = MD_ERROR;
- goto ERROR;
- }
-
- if (media_packet_create_alloc(mediafmt, NULL, NULL, &mediabuf)) {
- MD_E("media_packet_create_alloc failed\n");
- ret = MD_ERROR;
- goto ERROR;
- }
- } else {
- MD_E("Invalid track format\n");
- goto ERROR;
- }
if (indx != track_indx) {
MD_E("Invalid track Index\n");
ret = MD_ERROR_INVALID_ARGUMENT;
| GLOBAL VARIABLE DEFINITIONS: |
-----------------------------------------------------------------------*/
mediademuxer_h demuxer = NULL;
-media_format_h *g_media_format = NULL;
media_format_mimetype_e v_mime;
media_format_mimetype_e a_mime;
int g_menu_state = CURRENT_STATUS_MAINMENU;
int track = 0;
g_print("test_mediademuxer_get_track_info\n");
- g_media_format =
- (media_format_h *) g_malloc(sizeof(media_format_h) * num_tracks);
- g_print("allocated %p memory for g_media_format\n", g_media_format);
- if (g_media_format) {
- for (; track < num_tracks; track++) {
+ for (; track < num_tracks; track++) {
+ media_format_h g_media_format;
+ if (ret == 0) {
+ g_print("g_media_format[%d] is created successfully! \n", track);
+ ret = mediademuxer_get_track_info(demuxer, track, &g_media_format);
if (ret == 0) {
- g_print("g_media_format[%d] is created successfully! \n", track);
- ret = mediademuxer_get_track_info(demuxer, track, &g_media_format[track]);
- if (ret == 0) {
- if (media_format_get_video_info(g_media_format[track], &v_mime,
- &w, &h, NULL, NULL) == MEDIA_FORMAT_ERROR_NONE) {
- g_print("media_format_get_video_info is sucess!\n");
- g_print("\t\t[media_format_get_video]mime:%x, width :%d, height :%d\n",
+ if (media_format_get_video_info(g_media_format, &v_mime,
+ &w, &h, NULL, NULL) == MEDIA_FORMAT_ERROR_NONE) {
+ g_print("media_format_get_video_info is sucess!\n");
+ g_print("\t\t[media_format_get_video]mime:%x, width :%d, height :%d\n",
v_mime, w, h);
vid_track = track;
- } else if (media_format_get_audio_info(g_media_format[track], &a_mime,
- &channel, &samplerate, &bit, NULL) == MEDIA_FORMAT_ERROR_NONE) {
- g_print("media_format_get_audio_info is sucess!\n");
- g_print("\t\t[media_format_get_audio]mime:%x, channel :%d, samplerate :%d, bit :%d\n",
- a_mime, channel, samplerate, bit);
- media_format_get_audio_aac_type(g_media_format[track], &is_adts);
- aud_track = track;
- } else {
- g_print("Not Supported YET\n");
- }
+ } else if (media_format_get_audio_info(g_media_format, &a_mime,
+ &channel, &samplerate, &bit, NULL) == MEDIA_FORMAT_ERROR_NONE) {
+ g_print("media_format_get_audio_info is sucess!\n");
+ g_print("\t\t[media_format_get_audio]mime:%x, channel :%d, samplerate :%d, bit :%d\n",
+ a_mime, channel, samplerate, bit);
+ if (a_mime == MEDIA_FORMAT_AAC_LC)
+ media_format_get_audio_aac_type(g_media_format, &is_adts);
+ aud_track = track;
} else {
+ g_print("Not Supported YET\n");
+ }
+ } else {
g_print("Error while getting mediademuxer_get_track_info\n");
}
- media_format_unref(g_media_format[track]);
- g_media_format[track] = NULL;
} else {
g_print("Error while creating media_format_create\n");
}
- }
- g_free(g_media_format);
- g_media_format = NULL;
- } else {
- g_print("Error while allocating memory\n");
}
#if DEMUXER_OUTPUT_DUMP