summaryrefslogtreecommitdiff
path: root/res/res_rtp_asterisk.c
diff options
context:
space:
mode:
authorMatthew Jordan <mjordan@digium.com>2013-01-13 22:07:00 +0000
committerMatthew Jordan <mjordan@digium.com>2013-01-13 22:07:00 +0000
commit9b475cd3efd9f32a3f0c483921bb970f5c950c3f (patch)
treee7c5f68951b56c2215ac31b0fddd9eb4bbb6b6cf /res/res_rtp_asterisk.c
parentaecd2429bd6ab0ae37c90cceb926fdb22cda84d0 (diff)
Reset RTP timestamp; sequence number on SSRC change
In r370252 for ASTERISK-18404, Asterisk's handling of RTP was modified to better account for out of order RTP packets. This was accomplished by using the RTP timestamp and sequence number to check for out of order packets. However, when a SSRC change occurs, the timestamp and sequence number will no longer have any relation to the previously received packets. The variables tracking the timestamp and sequence number therefore have to be reset. (closes issue ASTERISK-20906) Reported by: Eelco Brolman patches: dtmf_on_hold.patch uploaded by Eelco Brolman (license #6442) ........ Merged revisions 378967 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 378984 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378985 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res/res_rtp_asterisk.c')
-rw-r--r--res/res_rtp_asterisk.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c
index 46ed35ff4..4450a51b5 100644
--- a/res/res_rtp_asterisk.c
+++ b/res/res_rtp_asterisk.c
@@ -3625,6 +3625,9 @@ static struct ast_frame *ast_rtp_read(struct ast_rtp_instance *instance, int rtc
f = ast_frisolate(&srcupdate);
AST_LIST_INSERT_TAIL(&frames, f, frame_list);
+
+ rtp->last_seqno = 0;
+ rtp->last_end_timestamp = 0;
}
rtp->rxssrc = ssrc;