mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 11:25:35 +00:00
rtp: Add REMB RTP property and set it on PJSIP video RTP.
This change adds a property to RTP instances to indicate that REMB support is enabled and that sending/receiving should be passed through. This also enables it on video RTP instances in PJSIP if WebRTC support is enabled. Finally the goog-remb extension is added to the SDP using the rtcp-fb attribute to indicate our support for it. Details about REMB can be found on the draft document for it: https://tools.ietf.org/html/draft-alvestrand-rmcat-remb-03 Change-Id: I1902dda1c0882bd1a0d71b2f120684b44b97e789
This commit is contained in:
@@ -222,6 +222,7 @@ static int create_rtp(struct ast_sip_session *session, struct ast_sip_session_me
|
||||
} else if (session_media->type == AST_MEDIA_TYPE_VIDEO) {
|
||||
ast_rtp_instance_set_prop(session_media->rtp, AST_RTP_PROPERTY_RETRANS_RECV, session->endpoint->media.webrtc);
|
||||
ast_rtp_instance_set_prop(session_media->rtp, AST_RTP_PROPERTY_RETRANS_SEND, session->endpoint->media.webrtc);
|
||||
ast_rtp_instance_set_prop(session_media->rtp, AST_RTP_PROPERTY_REMB, session->endpoint->media.webrtc);
|
||||
if (session->endpoint->media.tos_video || session->endpoint->media.cos_video) {
|
||||
ast_rtp_instance_set_qos(session_media->rtp, session->endpoint->media.tos_video,
|
||||
session->endpoint->media.cos_video, "SIP RTP Video");
|
||||
@@ -1092,6 +1093,9 @@ static void add_rtcp_fb_to_stream(struct ast_sip_session *session,
|
||||
*/
|
||||
attr = pjmedia_sdp_attr_create(pool, "rtcp-fb", pj_cstr(&stmp, "* ccm fir"));
|
||||
pjmedia_sdp_attr_add(&media->attr_count, media->attr, attr);
|
||||
|
||||
attr = pjmedia_sdp_attr_create(pool, "rtcp-fb", pj_cstr(&stmp, "* goog-remb"));
|
||||
pjmedia_sdp_attr_add(&media->attr_count, media->attr, attr);
|
||||
}
|
||||
|
||||
/*! \brief Function which negotiates an incoming media stream */
|
||||
|
Reference in New Issue
Block a user