//LCOV_EXCL_START
static GstCaps *__make_transceiver_caps_with_pt(rtp_payload_info_s *payload_info, int payload_type)
{
+ GstCaps *caps;
+
RET_VAL_IF(payload_info == NULL, NULL, "payload_info is NULL");
- return gst_caps_new_simple("application/x-rtp",
+ caps = gst_caps_new_simple("application/x-rtp",
"media", G_TYPE_STRING, payload_info->media_type,
"encoding-name", G_TYPE_STRING, payload_info->encoding_name,
"clock-rate", G_TYPE_INT, payload_info->clock_rate,
"payload", G_TYPE_INT, payload_type,
NULL);
+
+ if (payload_info->codec == WEBRTC_TRANSCEIVER_CODEC_OPUS)
+ gst_caps_set_simple(caps,
+ "encoding-params", G_TYPE_STRING, "2",
+ NULL);
+
+ return caps;
}
static int __update_transceiver_with_pt(webrtc_gst_slot_s *source, webrtc_media_type_e media_type, rtp_payload_info_s *payload_info)
static GstCaps *__make_transceiver_caps(rtp_payload_info_s *payload_info)
{
+ GstCaps *caps;
+
RET_VAL_IF(payload_info == NULL, NULL, "payload_info is NULL");
- return gst_caps_new_simple("application/x-rtp",
+ caps = gst_caps_new_simple("application/x-rtp",
"media", G_TYPE_STRING, payload_info->media_type,
"encoding-name", G_TYPE_STRING, payload_info->encoding_name,
"clock-rate", G_TYPE_INT, payload_info->clock_rate,
NULL);
+
+ if (payload_info->codec == WEBRTC_TRANSCEIVER_CODEC_OPUS)
+ gst_caps_set_simple(caps,
+ "encoding-params", G_TYPE_STRING, "2",
+ NULL);
+
+ return caps;
}
int _add_transceiver(webrtc_gst_slot_s *source, webrtc_media_type_e media_type, rtp_payload_info_s *payload_info)