]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
chan_pjsip: Send VIDUPDATE RTP frame for all H.264 streams
authorMaximilian Fridrich <m.fridrich@commend.com>
Mon, 2 Dec 2024 11:09:47 +0000 (12:09 +0100)
committerAsterisk Development Team <asteriskteam@digium.com>
Thu, 23 Jan 2025 18:36:03 +0000 (18:36 +0000)
Currently, when a chan_pjsip channel receives a VIDUPDATE indication,
an RTP VIDUPDATE frame is only queued on a H.264 stream if WebRTC is
enabled on that endpoint. This restriction does not really make sense.

Now, a VIDUPDATE RTP frame is written even if WebRTC is not enabled (as
is the case with VP8, VP9, and H.265 streams).

Resolves: #1013
(cherry picked from commit 63ae96c6e7bb0466a3355a2805457192b9dea743)

channels/chan_pjsip.c

index dc3e66636e6572674ff643c761d8a7dfb0c047d9..f0f233d23fbc82e93001960b44a2923b4876e01f 100644 (file)
@@ -1733,8 +1733,7 @@ static int chan_pjsip_indicate(struct ast_channel *ast, int condition, const voi
                                if (ast_format_cap_iscompatible_format(ast_channel_nativeformats(ast), ast_format_vp8) != AST_FORMAT_CMP_NOT_EQUAL ||
                                        ast_format_cap_iscompatible_format(ast_channel_nativeformats(ast), ast_format_vp9) != AST_FORMAT_CMP_NOT_EQUAL ||
                                        ast_format_cap_iscompatible_format(ast_channel_nativeformats(ast), ast_format_h265) != AST_FORMAT_CMP_NOT_EQUAL ||
-                                       (channel->session->endpoint->media.webrtc &&
-                                        ast_format_cap_iscompatible_format(ast_channel_nativeformats(ast), ast_format_h264) != AST_FORMAT_CMP_NOT_EQUAL)) {
+                                       ast_format_cap_iscompatible_format(ast_channel_nativeformats(ast), ast_format_h264) != AST_FORMAT_CMP_NOT_EQUAL) {
                                        /* FIXME Fake RTP write, this will be sent as an RTCP packet. Ideally the
                                         * RTP engine would provide a way to externally write/schedule RTCP
                                         * packets */