diff options
author | Gerald Combs <gerald@wireshark.org> | 2005-03-05 17:57:27 +0000 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2005-03-05 17:57:27 +0000 |
commit | eb372831ddbb7398fbe2022cb81840e356211446 (patch) | |
tree | 243fadb7064f236c4b2b05a2500ff1dd25e8d3f9 /gtk/rtp_analysis.c | |
parent | aaa9cb51502c4620fd71ae8b3a2c2729e0910ee5 (diff) |
When analyzing RTP streams, use the source address as well as the SSRC
to determine forward and reverse directions. This fixes a capture I
have which has the same SSRC in the forward and reverse streams.
svn path=/trunk/; revision=13599
Diffstat (limited to 'gtk/rtp_analysis.c')
-rw-r--r-- | gtk/rtp_analysis.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gtk/rtp_analysis.c b/gtk/rtp_analysis.c index 072b8085c2..8caedc4c33 100644 --- a/gtk/rtp_analysis.c +++ b/gtk/rtp_analysis.c @@ -511,7 +511,8 @@ static int rtp_packet(void *user_data_arg, packet_info *pinfo, epan_dissect_t *e else if (rtpinfo->info_version !=2) return 0; /* is it the forward direction? */ - else if (user_data->ssrc_fwd == rtpinfo->info_sync_src) { + else if (user_data->ssrc_fwd == rtpinfo->info_sync_src && + CMP_ADDRESS(&(user_data->ip_src_fwd), &(pinfo->net_src)) == 0) { #ifdef USE_CONVERSATION_GRAPH vp.time = ((double)pinfo->fd->rel_secs + (double)pinfo->fd->rel_usecs/1000000); vp.fnumber = pinfo->fd->num; @@ -526,7 +527,8 @@ static int rtp_packet(void *user_data_arg, packet_info *pinfo, epan_dissect_t *e &(user_data->forward.statinfo), pinfo, rtpinfo); } /* is it the reversed direction? */ - else if (user_data->ssrc_rev == rtpinfo->info_sync_src) { + else if (user_data->ssrc_rev == rtpinfo->info_sync_src && + CMP_ADDRESS(&(user_data->ip_src_rev), &(pinfo->net_src)) == 0) { #ifdef USE_CONVERSATION_GRAPH vp.time = ((double)pinfo->fd->rel_secs + (double)pinfo->fd->rel_usecs/1000000); vp.fnumber = pinfo->fd->num; |