mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 11:25:35 +00:00
Add extended properties to rtp_engine for RTP retransmission support.
A couple of additional properties are needed in rtp_engine to enable support for packet retransmission: AST_RTP_PROPERTY_RETRANS_RECV and AST_RTP_PROPERTY_RETRANS_SEND. These will both be enabled automatically if an endpoint has the webrtc option enabled. While this adds no functionality currently, it will serve as a building block for future changes for RTP retransmission support. For more information, refer to the wiki page: https://wiki.asterisk.org/wiki/display/AST/WebRTC+User+Experience+Improvements Change-Id: Ic598acd042a045f9d10e5bdccb66f4efc9e587cc
This commit is contained in:
committed by
Benjamin Keith Ford
parent
d6d520a040
commit
0be1c388e4
@@ -122,6 +122,10 @@ enum ast_rtp_property {
|
||||
AST_RTP_PROPERTY_RTCP,
|
||||
/*! Enable Asymmetric RTP Codecs */
|
||||
AST_RTP_PROPERTY_ASYMMETRIC_CODEC,
|
||||
/*! Enable packet retransmission for received packets */
|
||||
AST_RTP_PROPERTY_RETRANS_RECV,
|
||||
/*! Enable packet retransmission for sent packets */
|
||||
AST_RTP_PROPERTY_RETRANS_SEND,
|
||||
|
||||
/*!
|
||||
* \brief Maximum number of RTP properties supported
|
||||
|
@@ -219,10 +219,13 @@ static int create_rtp(struct ast_sip_session *session, struct ast_sip_session_me
|
||||
(session->endpoint->media.tos_audio || session->endpoint->media.cos_audio)) {
|
||||
ast_rtp_instance_set_qos(session_media->rtp, session->endpoint->media.tos_audio,
|
||||
session->endpoint->media.cos_audio, "SIP RTP Audio");
|
||||
} else if (session_media->type == AST_MEDIA_TYPE_VIDEO &&
|
||||
(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");
|
||||
} 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);
|
||||
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");
|
||||
}
|
||||
}
|
||||
|
||||
ast_rtp_instance_set_last_rx(session_media->rtp, time(NULL));
|
||||
|
Reference in New Issue
Block a user