diff options
author | Anders Broman <anders.broman@ericsson.com> | 2010-04-14 20:48:37 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2010-04-14 20:48:37 +0000 |
commit | 83ce037aa9e329b4ee677292dd0be07d7526fa39 (patch) | |
tree | b676e612489495f7831efd0de87fcb0100828c0e /epan/dissectors/packet-rtp.c | |
parent | b09f79f4141b403353c4afb2680739b7670d3045 (diff) |
Use the sample rate from SDP info in RTP stream analysis.
svn path=/trunk/; revision=32466
Diffstat (limited to 'epan/dissectors/packet-rtp.c')
-rw-r--r-- | epan/dissectors/packet-rtp.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/epan/dissectors/packet-rtp.c b/epan/dissectors/packet-rtp.c index 369056a5db..ca3c6a1f21 100644 --- a/epan/dissectors/packet-rtp.c +++ b/epan/dissectors/packet-rtp.c @@ -649,7 +649,9 @@ process_rtp_payload(tvbuff_t *newtvb, packet_info *pinfo, proto_tree *tree, else if ( (payload_type >= PT_UNDF_96 && payload_type <= PT_UNDF_127) ) { if (p_conv_data && p_conv_data->rtp_dyn_payload) { gchar *payload_type_str = NULL; - payload_type_str = g_hash_table_lookup(p_conv_data->rtp_dyn_payload, &payload_type); + encoding_name_and_rate_t *encoding_name_and_rate_pt = NULL; + encoding_name_and_rate_pt = g_hash_table_lookup(p_conv_data->rtp_dyn_payload, &payload_type); + payload_type_str = encoding_name_and_rate_pt->encoding_name; if (payload_type_str){ found_match = dissector_try_string(rtp_dyn_pt_dissector_table, payload_type_str, newtvb, pinfo, tree); @@ -934,7 +936,9 @@ dissect_rtp_rfc2198(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) /* if it is dynamic payload, let use the conv data to see if it is defined */ if ((hdr_new->pt > 95) && (hdr_new->pt < 128)) { if (p_conv_data && p_conv_data->rtp_dyn_payload){ + encoding_name_and_rate_t *encoding_name_and_rate_pt = NULL; payload_type_str = g_hash_table_lookup(p_conv_data->rtp_dyn_payload, &hdr_new->pt); + payload_type_str = encoding_name_and_rate_pt->encoding_name; } } /* Add a subtree for this header and add items */ @@ -1100,6 +1104,7 @@ dissect_rtp( tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) rtp_info->info_is_srtp = FALSE; rtp_info->info_setup_frame_num = 0; rtp_info->info_payload_type_str = NULL; + rtp_info->info_payload_rate = 0; /* * Do we have all the data? @@ -1162,8 +1167,10 @@ dissect_rtp( tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) /* if it is dynamic payload, let use the conv data to see if it is defined */ if ( (payload_type>95) && (payload_type<128) ) { if (p_conv_data && p_conv_data->rtp_dyn_payload){ - payload_type_str = g_hash_table_lookup(p_conv_data->rtp_dyn_payload, &payload_type); - rtp_info->info_payload_type_str = payload_type_str; + encoding_name_and_rate_t *encoding_name_and_rate_pt = NULL; + encoding_name_and_rate_pt = g_hash_table_lookup(p_conv_data->rtp_dyn_payload, &payload_type); + rtp_info->info_payload_type_str = encoding_name_and_rate_pt->encoding_name; + rtp_info->info_payload_rate = encoding_name_and_rate_pt->sample_rate; } } |