gboolean g_video_is_on = FALSE;
gboolean g_audio_is_on = FALSE;
-media_format_h vfmt_raw = NULL;
+media_format_h vfmt_i420 = NULL;
media_format_h vfmt_encoded = NULL;
-media_format_h vfmt_aenc = NULL;
-media_format_h afmt_raw = NULL;
-media_format_h afmt_araw = NULL;
+media_format_h vfmt_h264 = NULL;
+media_format_h afmt_pcm = NULL;
+media_format_h afmt_f32le = NULL;
media_format_h afmt_encoded = NULL;
-media_format_h afmt_aenc = NULL;
-media_format_h tsfmt = NULL;
-media_format_h qtfmt = NULL;
+media_format_h afmt_aac = NULL;
+media_format_h cfmt_mpeg2ts = NULL;
+media_format_h cfmt_mp4 = NULL;
static int app_create(void *data);
static int app_terminate(void *data);
static void create_formats(void)
{
- if (!vfmt_raw || !vfmt_encoded || !afmt_raw)
+ if (!vfmt_i420 || !vfmt_encoded || !afmt_pcm)
g_print("Formats already created!\n");
/* Define video raw format */
- media_format_create(&vfmt_raw);
- if (media_format_set_video_mime(vfmt_raw, MEDIA_FORMAT_I420) != MEDIA_FORMAT_ERROR_NONE)
+ media_format_create(&vfmt_i420);
+ if (media_format_set_video_mime(vfmt_i420, MEDIA_FORMAT_I420) != MEDIA_FORMAT_ERROR_NONE)
g_print("media_format_set_video_mime failed!");
- media_format_set_video_width(vfmt_raw, VIDEO_WIDTH);
- media_format_set_video_height(vfmt_raw, VIDEO_HIGHT);
- media_format_set_video_avg_bps(vfmt_raw, VIDEO_AVG_BPS);
- media_format_set_video_max_bps(vfmt_raw, VIDEO_MAX_BPS);
+ media_format_set_video_width(vfmt_i420, VIDEO_WIDTH);
+ media_format_set_video_height(vfmt_i420, VIDEO_HIGHT);
+ media_format_set_video_avg_bps(vfmt_i420, VIDEO_AVG_BPS);
+ media_format_set_video_max_bps(vfmt_i420, VIDEO_MAX_BPS);
/* Define encoded video format */
media_format_create(&vfmt_encoded);
media_format_set_video_max_bps(vfmt_encoded, VIDEO_MAX_BPS);
/* Define encoded video format for adaptive stream */
- media_format_create(&vfmt_aenc);
- if (media_format_set_video_mime(vfmt_aenc, MEDIA_FORMAT_H264_SP) != MEDIA_FORMAT_ERROR_NONE)
+ media_format_create(&vfmt_h264);
+ if (media_format_set_video_mime(vfmt_h264, MEDIA_FORMAT_H264_SP) != MEDIA_FORMAT_ERROR_NONE)
g_print("media_format_set_video_mime failed!");
- media_format_set_video_width(vfmt_aenc, VIDEO_WIDTH);
- media_format_set_video_height(vfmt_aenc, VIDEO_HIGHT);
- media_format_set_video_avg_bps(vfmt_aenc, VIDEO_AVG_BPS);
- media_format_set_video_max_bps(vfmt_aenc, VIDEO_MAX_BPS);
+ media_format_set_video_width(vfmt_h264, VIDEO_WIDTH);
+ media_format_set_video_height(vfmt_h264, VIDEO_HIGHT);
+ media_format_set_video_avg_bps(vfmt_h264, VIDEO_AVG_BPS);
+ media_format_set_video_max_bps(vfmt_h264, VIDEO_MAX_BPS);
/* Define audio raw format */
- media_format_create(&afmt_raw);
- if (media_format_set_audio_mime(afmt_raw, MEDIA_FORMAT_PCM) != MEDIA_FORMAT_ERROR_NONE)
+ 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!");
- media_format_set_audio_channel(afmt_raw, AUDIO_CHANNEL);
- media_format_set_audio_samplerate(afmt_raw, AUDIO_SAMPLERATE);
+ 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_araw);
- if (media_format_set_audio_mime(afmt_araw, MEDIA_FORMAT_PCM_F32LE) != MEDIA_FORMAT_ERROR_NONE)
+ 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!");
- media_format_set_audio_channel(afmt_araw, AUDIO_CHANNEL);
- media_format_set_audio_samplerate(afmt_araw, AUDIO_SAMPLERATE);
+ 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);
media_format_set_audio_samplerate(afmt_encoded, AUDIO_SAMPLERATE);
/* Define audio encoded format for adaptive stream */
- media_format_create(&afmt_aenc);
- if (media_format_set_audio_mime(afmt_aenc, MEDIA_FORMAT_AAC) != MEDIA_FORMAT_ERROR_NONE)
+ 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!");
- media_format_set_audio_channel(afmt_aenc, AUDIO_CHANNEL);
- media_format_set_audio_samplerate(afmt_aenc, AUDIO_SAMPLERATE);
- media_format_set_audio_aac_type(afmt_aenc, TRUE);
+ media_format_set_audio_channel(afmt_aac, AUDIO_CHANNEL);
+ media_format_set_audio_samplerate(afmt_aac, AUDIO_SAMPLERATE);
+ media_format_set_audio_aac_type(afmt_aac, TRUE);
/* Define mpegts stream format */
- media_format_create(&tsfmt);
- if (media_format_set_container_mime(tsfmt, MEDIA_FORMAT_CONTAINER_MPEG2TS) != MEDIA_FORMAT_ERROR_NONE)
+ 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!");
/* Define MP4 stream format */
- media_format_create(&qtfmt);
- if (media_format_set_container_mime(qtfmt, MEDIA_FORMAT_CONTAINER_MP4) != MEDIA_FORMAT_ERROR_NONE)
+ 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!");
}
/*********************** encoder **************************************** */
media_streamer_node_h video_enc = NULL;
- media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_VIDEO_ENCODER, vfmt_raw, vfmt_encoded, &video_enc);
+ media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_VIDEO_ENCODER, vfmt_i420, vfmt_encoded, &video_enc);
media_streamer_node_add(current_media_streamer, video_enc);
APPEND_NODE(video_enc);
/*********************** audioencoder *********************************** */
media_streamer_node_h audio_enc = NULL;
- media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_AUDIO_ENCODER, afmt_raw, afmt_encoded, &audio_enc);
+ media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_AUDIO_ENCODER, afmt_pcm, afmt_encoded, &audio_enc);
media_streamer_node_add(current_media_streamer, audio_enc);
APPEND_NODE(audio_enc);
/* ********************** videodec ************************************ */
media_streamer_node_h video_dec = NULL;
- media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER, vfmt_encoded, vfmt_raw, &video_dec);
+ media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER, vfmt_encoded, vfmt_i420, &video_dec);
media_streamer_node_add(current_media_streamer, video_dec);
APPEND_NODE(video_dec);
APPEND_NODE(file_src);
media_streamer_node_h qt_demux = NULL;
- media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_DEMUXER, qtfmt, NULL, &qt_demux);
+ media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_DEMUXER, cfmt_mp4, NULL, &qt_demux);
media_streamer_node_add(current_media_streamer, qt_demux);
APPEND_NODE(qt_demux);
media_streamer_node_h video_dec = NULL;
- media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER, vfmt_aenc, vfmt_raw, &video_dec);
+ media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER, vfmt_h264, vfmt_i420, &video_dec);
media_streamer_node_add(current_media_streamer, video_dec);
APPEND_NODE(video_dec);
media_streamer_node_h audio_dec = NULL;
- media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_AUDIO_DECODER, afmt_aenc, afmt_araw, &audio_dec);
+ media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_AUDIO_DECODER, afmt_aac, afmt_f32le, &audio_dec);
media_streamer_node_add(current_media_streamer, audio_dec);
APPEND_NODE(audio_dec);
media_streamer_node_h video_enc = NULL;
- media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_VIDEO_ENCODER, vfmt_raw, vfmt_aenc, &video_enc);
+ media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_VIDEO_ENCODER, vfmt_i420, vfmt_h264, &video_enc);
media_streamer_node_add(current_media_streamer, video_enc);
APPEND_NODE(video_enc);
media_streamer_node_h audio_enc = NULL;
- media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_AUDIO_ENCODER, afmt_araw, afmt_aenc, &audio_enc);
+ media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_AUDIO_ENCODER, afmt_f32le, afmt_aac, &audio_enc);
media_streamer_node_add(current_media_streamer, audio_enc);
APPEND_NODE(audio_enc);
media_streamer_node_h ts_mux = NULL;
- media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_MUXER, NULL, tsfmt, &ts_mux);
+ media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_MUXER, NULL, cfmt_mpeg2ts, &ts_mux);
media_streamer_node_add(current_media_streamer, ts_mux);
APPEND_NODE(ts_mux);
APPEND_NODE(adaptive_src);
media_streamer_node_h ts_demux = NULL;
- media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_DEMUXER, tsfmt, NULL, &ts_demux);
+ media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_DEMUXER, cfmt_mpeg2ts, NULL, &ts_demux);
media_streamer_node_add(current_media_streamer, ts_demux);
APPEND_NODE(ts_demux);
media_streamer_node_h video_dec = NULL;
- media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER, vfmt_aenc, vfmt_raw, &video_dec);
+ media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER, vfmt_h264, vfmt_i420, &video_dec);
media_streamer_node_add(current_media_streamer, video_dec);
APPEND_NODE(video_dec);
media_streamer_node_h audio_dec = NULL;
- media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_AUDIO_DECODER, afmt_aenc, afmt_araw, &audio_dec);
+ media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_AUDIO_DECODER, afmt_aac, afmt_f32le, &audio_dec);
media_streamer_node_add(current_media_streamer, audio_dec);
APPEND_NODE(audio_dec);
/* ********************** app_sink *********************************** */
media_streamer_node_h app_sink = NULL;
media_streamer_node_create_sink(MEDIA_STREAMER_NODE_SINK_TYPE_CUSTOM, &app_sink);
- media_streamer_node_set_pad_format(app_sink, "sink", vfmt_raw);
+ media_streamer_node_set_pad_format(app_sink, "sink", vfmt_i420);
media_streamer_node_add(current_media_streamer, app_sink);
APPEND_NODE(app_sink);