]> 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:39:41 +0000 (18:39 +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 f1f521d3662558a9c7420870e7a9539a41b50b10)

channels/chan_pjsip.c

index c7d0d05fdbe5d958324abfdbd1513903bce6021e..cb60378e833c9f920b4e7281c640584e9ea2caf1 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 */