aboutsummaryrefslogtreecommitdiffstats
path: root/gtk/rtp_analysis.c
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2005-03-05 17:57:27 +0000
committerGerald Combs <gerald@wireshark.org>2005-03-05 17:57:27 +0000
commiteb372831ddbb7398fbe2022cb81840e356211446 (patch)
tree243fadb7064f236c4b2b05a2500ff1dd25e8d3f9 /gtk/rtp_analysis.c
parentaaa9cb51502c4620fd71ae8b3a2c2729e0910ee5 (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.c6
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;