SCENARIO_MODE_ADAPTIVE_SERVER_MANUAL,
SCENARIO_MODE_ADAPTIVE_CLIENT_AUTO,
SCENARIO_MODE_ADAPTIVE_CLIENT_MANUAL,
- SCENARIO_MODE_FILE_PLAY_AAC_AUDIO
+ SCENARIO_MODE_FILE_PLAY_AAC_AUDIO,
+ SCENARIO_MODE_FILE_PLAY_MP3_AUDIO
} scenario_mode_e;
#define PACKAGE "media_streamer_test"
media_format_h afmt_f32le = NULL;
media_format_h afmt_encoded = NULL;
media_format_h afmt_aac = NULL;
+media_format_h afmt_mp3 = NULL;
media_format_h cfmt_mpeg2ts = NULL;
media_format_h cfmt_mp4 = NULL;
/* Define audio raw format */
media_format_create(&afmt_pcm);
if (media_format_set_audio_mime(afmt_pcm, MEDIA_FORMAT_PCM) != MEDIA_FORMAT_ERROR_NONE)
- g_print("media_format_set_audio_mime failed!");
+ g_print("media_format_set_audio_mime failed!\n");
media_format_set_audio_channel(afmt_pcm, AUDIO_CHANNEL);
media_format_set_audio_samplerate(afmt_pcm, AUDIO_SAMPLERATE);
/* Define audio raw format for adaptive streaming */
media_format_create(&afmt_f32le);
if (media_format_set_audio_mime(afmt_f32le, MEDIA_FORMAT_PCM_F32LE) != MEDIA_FORMAT_ERROR_NONE)
- g_print("media_format_set_audio_mime failed!");
+ g_print("media_format_set_audio_mime failed!\n");
media_format_set_audio_channel(afmt_f32le, AUDIO_CHANNEL);
media_format_set_audio_samplerate(afmt_f32le, AUDIO_SAMPLERATE);
/* Define audio encoded format */
media_format_create(&afmt_encoded);
if (media_format_set_audio_mime(afmt_encoded, MEDIA_FORMAT_AMR_NB) != MEDIA_FORMAT_ERROR_NONE)
- g_print("media_format_set_audio_mime failed!");
+ g_print("media_format_set_audio_mime failed!\n");
media_format_set_audio_channel(afmt_encoded, AUDIO_CHANNEL);
media_format_set_audio_samplerate(afmt_encoded, AUDIO_SAMPLERATE);
+ /* Define audio mp3 format */
+ media_format_create(&afmt_mp3);
+ if (media_format_set_audio_mime(afmt_mp3, MEDIA_FORMAT_MP3) != MEDIA_FORMAT_ERROR_NONE)
+ g_print("media_format_set_audio_mime failed!\n");
+
/* Define audio encoded format for adaptive stream */
media_format_create(&afmt_aac);
if (media_format_set_audio_mime(afmt_aac, MEDIA_FORMAT_AAC) != MEDIA_FORMAT_ERROR_NONE)
- g_print("media_format_set_audio_mime failed!");
+ g_print("media_format_set_audio_mime failed!\n");
media_format_set_audio_channel(afmt_aac, AUDIO_CHANNEL);
media_format_set_audio_samplerate(afmt_aac, AUDIO_SAMPLERATE);
/* Define mpegts stream format */
media_format_create(&cfmt_mpeg2ts);
if (media_format_set_container_mime(cfmt_mpeg2ts, MEDIA_FORMAT_CONTAINER_MPEG2TS) != MEDIA_FORMAT_ERROR_NONE)
- g_print("media_format_set_container_mime failed!");
+ g_print("media_format_set_container_mime failed!\n");
+
/* Define MP4 stream format */
media_format_create(&cfmt_mp4);
if (media_format_set_container_mime(cfmt_mp4, MEDIA_FORMAT_CONTAINER_MP4) != MEDIA_FORMAT_ERROR_NONE)
- g_print("media_format_set_container_mime failed!");
+ g_print("media_format_set_container_mime failed!\n");
}
static void set_rtp_params(media_streamer_node_h rtp_node, const char *ip, int video_port, int audio_port, gboolean port_reverse)
media_streamer_node_link(audio_decoder, "src", audiosink, "sink");
}
+static void _create_static_audio_mp3_playing(void)
+{
+ media_streamer_node_h filesrc = NULL;
+ media_streamer_node_create_src(MEDIA_STREAMER_NODE_SRC_TYPE_FILE, &filesrc);
+ media_streamer_node_set_param(filesrc, MEDIA_STREAMER_PARAM_URI, g_uri);
+ media_streamer_node_add(current_media_streamer, filesrc);
+ APPEND_NODE(filesrc);
+
+ media_streamer_node_h audio_decoder = NULL;
+ media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_AUDIO_DECODER, afmt_mp3, afmt_pcm, &audio_decoder);
+ media_streamer_node_add(current_media_streamer, audio_decoder);
+ APPEND_NODE(audio_decoder);
+
+ media_streamer_node_h audiosink = NULL;
+ media_streamer_node_create_sink(MEDIA_STREAMER_NODE_SINK_TYPE_AUDIO, &audiosink);
+ media_streamer_node_add(current_media_streamer, audiosink);
+ APPEND_NODE(audiosink);
+
+ media_streamer_node_link(filesrc, "src", audio_decoder, "sink");
+ media_streamer_node_link(audio_decoder, "src", audiosink, "sink");
+}
+
static void _create_file_sub_playing(void)
{
media_streamer_node_h file_sub_src = NULL;
g_print("By default will be used [%d] mode\n", g_scenario_mode);
g_print("1. Appsrc -> Appsink\n");
g_print("2. Audio File(aac) playing\n");
+ g_print("3. Audio File(mp3) playing\n");
g_print("b. back \n");
g_print("----------------------------------------------------\n");
g_print("====================================================\n");
_create_file_playing();
else if (g_scenario_mode == SCENARIO_MODE_FILE_PLAY_AAC_AUDIO)
_create_static_audio_aac_playing();
+ else if (g_scenario_mode == SCENARIO_MODE_FILE_PLAY_MP3_AUDIO)
+ _create_static_audio_mp3_playing();
else if (g_scenario_mode == SCENARIO_MODE_FILE_SUBTITLE_VIDEO_AUDIO)
_create_file_sub_playing();
else if (g_scenario_mode == SCENARIO_MODE_HTTP_VIDEO_AUDIO)
g_printf("g_sub_menu_state (%d)\n", g_sub_menu_state);
return;
}
+ else if (!strncmp(cmd, "3", len)) {
+ g_scenario_mode = SCENARIO_MODE_FILE_PLAY_MP3_AUDIO;
+ g_sub_menu_state = SUBMENU_STATE_GETTING_FILE_URI;
+ g_printf("g_sub_menu_state (%d)\n", g_sub_menu_state);
+ return;
+ }
}
g_sub_menu_state = SUBMENU_STATE_UNKNOWN;
}