]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_pjsip_sdp_rtp.c: Support keepalive for video streams.
authorLuke Escude <luke@primevox.net>
Wed, 19 Jan 2022 22:33:51 +0000 (17:33 -0500)
committerJoshua Colp <jcolp@sangoma.com>
Thu, 20 Jan 2022 17:30:43 +0000 (11:30 -0600)
ASTERISK-28890 #close

Change-Id: Iad269a8dc36f892ede90fe8ceb3010560c0f70d1

res/res_pjsip_sdp_rtp.c

index 8630a676541d32967453664d799c830e6c012bae..c62fa6f60be64a3e2ee5065e1c44255fb677fcd6 100644 (file)
@@ -2089,7 +2089,7 @@ static int apply_negotiated_sdp_stream(struct ast_sip_session *session,
        ast_rtp_instance_activate(session_media->rtp);
 
        /* audio stream handles music on hold */
-       if (media_type != AST_MEDIA_TYPE_AUDIO) {
+       if (media_type != AST_MEDIA_TYPE_AUDIO && media_type != AST_MEDIA_TYPE_VIDEO) {
                if ((pjmedia_sdp_neg_was_answer_remote(session->inv_session->neg) == PJ_FALSE)
                        && (session->inv_session->state == PJSIP_INV_STATE_CONFIRMED)) {
                        ast_queue_control(session->channel, AST_CONTROL_UPDATE_RTP_PEER);
@@ -2121,7 +2121,8 @@ static int apply_negotiated_sdp_stream(struct ast_sip_session *session,
        session_media->encryption = session->endpoint->media.rtp.encryption;
 
        if (session->endpoint->media.rtp.keepalive > 0 &&
-                       session_media->type == AST_MEDIA_TYPE_AUDIO) {
+               (session_media->type == AST_MEDIA_TYPE_AUDIO ||
+                       session_media->type == AST_MEDIA_TYPE_VIDEO)) {
                ast_rtp_instance_set_keepalive(session_media->rtp, session->endpoint->media.rtp.keepalive);
                /* Schedule the initial keepalive early in case this is being used to punch holes through
                 * a NAT. This way there won't be an awkward delay before media starts flowing in some