diff options
author | twilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-03-13 00:30:04 +0000 |
---|---|---|
committer | twilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-03-13 00:30:04 +0000 |
commit | 8b997b6ae37cf53d86a1918be28dfc999d4d1ee0 (patch) | |
tree | 2f54dbec9891bf51682d9e18092aa7d98ebe3384 /include/asterisk/rtp.h | |
parent | 3be293b2e1a22b1b3b42f7952ecb72a8773522c5 (diff) |
Merged revisions 252089 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
........
r252089 | twilson | 2010-03-12 16:04:51 -0600 (Fri, 12 Mar 2010) | 20 lines
Only change the RTP ssrc when we see that it has changed
This change basically reverts the change reviewed in
https://reviewboard.asterisk.org/r/374/ and instead limits the
updating of the RTP synchronization source to only those times when we
detect that the other side of the conversation has changed the ssrc.
The problem is that SRCUPDATE control frames are sent many times where
we don't want a new ssrc, including whenever Asterisk has to send DTMF
in a normal bridge. This is also not the first time that this mistake
has been made. The initial implementation of the ast_rtp_new_source
function also changed the ssrc--and then it was removed because of
this same issue. Then, we put it back in again to fix a different
issue. This patch attempts to only change the ssrc when we see that
the other side of the conversation has changed the ssrc.
It also renames some functions to make their purpose more clear.
Review: https://reviewboard.asterisk.org/r/540/
........
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@252175 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include/asterisk/rtp.h')
-rw-r--r-- | include/asterisk/rtp.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/asterisk/rtp.h b/include/asterisk/rtp.h index fada0bcb4..955e8bf99 100644 --- a/include/asterisk/rtp.h +++ b/include/asterisk/rtp.h @@ -179,10 +179,11 @@ int ast_rtp_sendcng(struct ast_rtp *rtp, int level); int ast_rtp_settos(struct ast_rtp *rtp, int tos); -/*! \brief When changing sources, don't generate a new SSRC */ -void ast_rtp_set_constantssrc(struct ast_rtp *rtp); +/*! \brief Indicate that we need to set the marker bit */ +void ast_rtp_update_source(struct ast_rtp *rtp); -void ast_rtp_new_source(struct ast_rtp *rtp); +/*! \brief Indicate that we need to set the marker bit and change the ssrc */ +void ast_rtp_change_source(struct ast_rtp *rtp); /*! \brief Setting RTP payload types from lines in a SDP description: */ void ast_rtp_pt_clear(struct ast_rtp* rtp); |