aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-rtp.c
diff options
context:
space:
mode:
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2010-04-14 20:48:37 +0000
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2010-04-14 20:48:37 +0000
commita45ef4a081cab6da6265ea46a0560d01f10cc64c (patch)
treeb676e612489495f7831efd0de87fcb0100828c0e /epan/dissectors/packet-rtp.c
parent74bececa4481ca4a3672f3e31cbfe4dcacd01801 (diff)
Use the sample rate from SDP info in RTP stream analysis.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@32466 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-rtp.c')
-rw-r--r--epan/dissectors/packet-rtp.c13
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;
}
}