found_element = __ms_combine_next_element(found_element, NULL, ms_streamer->transform_bin, MEDIA_STREAMER_NODE_TYPE_MUXER);
found_element = __ms_combine_next_element(found_element, NULL, ms_streamer->sink_bin, MEDIA_STREAMER_NODE_TYPE_SINK);
} else {
- caps = gst_pad_query_caps (src_pad, NULL);
+ caps = gst_pad_query_caps(src_pad, NULL);
caps_str = gst_caps_to_string(caps);
if (caps_str && (g_strrstr(caps_str, "ST12") || g_strrstr(caps_str, "SN12") ||
- g_strrstr(caps_str, "SN21") || g_strrstr(caps_str, "S420") || g_strrstr(caps_str, "SR32"))){
+ g_strrstr(caps_str, "SN21") || g_strrstr(caps_str, "S420") || g_strrstr(caps_str, "SR32"))) {
found_element = __ms_combine_next_element(found_element, src_pad, ms_streamer->sink_bin, MEDIA_STREAMER_NODE_TYPE_SINK);
} else {
found_element = __ms_combine_next_element(found_element, src_pad, ms_streamer->transform_bin, MEDIA_STREAMER_NODE_TYPE_VIDEO_CONVERTER);
MS_GET_CAPS_TYPE(plug_info->sink_caps, sink_type);
/* 1. Main priority:
- * If Node klass defined as MEDIA_STREAMER_STRICT or ENCODER/DECODER types,
+ * If Node klass defined as MEDIA_STREAMER_STRICT or ENCODER/DECODER or CONVERTER types,
* element will be created immediately by format ot name */
if (type == MEDIA_STREAMER_NODE_TYPE_AUDIO_ENCODER)
gst_element = __ms_audio_encoder_element_create(plug_info, type);
gst_element = __ms_video_encoder_element_create(plug_info, type);
else if (type == MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER)
gst_element = __ms_video_decoder_element_create(plug_info, type);
+ else if (type == MEDIA_STREAMER_NODE_TYPE_AUDIO_CONVERTER || type == MEDIA_STREAMER_NODE_TYPE_VIDEO_CONVERTER)
+ gst_element = __ms_element_create(plug_info->info->default_name, NULL);
else if (g_strrstr(MEDIA_STREAMER_STRICT, plug_info->info->klass_name) || (!src_type && !sink_type)) {
if (type == MEDIA_STREAMER_NODE_TYPE_RTP)
gst_element = __ms_rtp_element_create();