aboutsummaryrefslogtreecommitdiffstats
path: root/packet-rtp-events.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2003-09-19 04:27:48 +0000
committerGuy Harris <guy@alum.mit.edu>2003-09-19 04:27:48 +0000
commit952f81ed8dd5ba3021c7e065babbf12f2313bdce (patch)
tree7655f073c194e6fc9ca03f9fdc0fb7ad4a22920e /packet-rtp-events.c
parent0c211a05e703b39a87136729a9bcda7d43292d65 (diff)
Use bitfields for the end-of-event, reserved, and volume fields.
Don't fetch fields until you need them, so you don't throw an early exception. Give the fields names starting with the name of the protocol. svn path=/trunk/; revision=8495
Diffstat (limited to 'packet-rtp-events.c')
-rw-r--r--packet-rtp-events.c52
1 files changed, 19 insertions, 33 deletions
diff --git a/packet-rtp-events.c b/packet-rtp-events.c
index 05dac8142a..83696b5fa6 100644
--- a/packet-rtp-events.c
+++ b/packet-rtp-events.c
@@ -3,7 +3,7 @@
* Routines for RFC 2833 RTP Events dissection
* Copyright 2003, Kevin A. Noll <knoll[AT]poss.com>
*
- * $Id: packet-rtp-events.c,v 1.1 2003/09/19 04:16:23 guy Exp $
+ * $Id: packet-rtp-events.c,v 1.2 2003/09/19 04:27:48 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -76,14 +76,8 @@ dissect_rtp_events( tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree )
proto_tree *rtp_events_tree = NULL;
unsigned int offset = 0;
- guint8 octet;
-
guint8 rtp_evt;
- gboolean rtp_end;
- gboolean rtp_reserved;
- guint8 rtp_volume;
- guint16 rtp_duration;
-
+ guint8 octet;
if ( check_col( pinfo->cinfo, COL_PROTOCOL ) )
{
@@ -97,16 +91,6 @@ dissect_rtp_events( tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree )
rtp_evt = tvb_get_guint8(tvb, offset );
- octet = tvb_get_guint8(tvb, offset +1 );
-
- rtp_volume = ((octet << 2) >> 2);
-
- rtp_end = (octet >> 7);
- rtp_reserved = ((octet << 1) >> 7 );
-
- rtp_duration = tvb_get_ntohs(tvb, offset +2);
-
-
if ( check_col( pinfo->cinfo, COL_INFO) )
{
col_add_fstr( pinfo->cinfo, COL_INFO,
@@ -116,17 +100,19 @@ dissect_rtp_events( tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree )
}
-
if ( tree )
{
ti = proto_tree_add_item( tree, proto_rtp_events, tvb, offset, -1, FALSE );
rtp_events_tree = proto_item_add_subtree( ti, ett_rtp_events );
proto_tree_add_uint ( rtp_events_tree, hf_rtp_events_event, tvb, offset, 1, rtp_evt);
- proto_tree_add_boolean (rtp_events_tree, hf_rtp_events_end, tvb, offset, 1, rtp_end);
- proto_tree_add_boolean (rtp_events_tree, hf_rtp_events_reserved, tvb, offset, 1, rtp_reserved);
- proto_tree_add_uint ( rtp_events_tree, hf_rtp_events_volume, tvb, offset, 1, rtp_volume);
- proto_tree_add_uint ( rtp_events_tree, hf_rtp_events_duration, tvb, offset, 2, rtp_duration);
+
+ octet = tvb_get_guint8(tvb, offset +1 );
+ proto_tree_add_boolean (rtp_events_tree, hf_rtp_events_end, tvb, offset, 1, octet);
+ proto_tree_add_boolean (rtp_events_tree, hf_rtp_events_reserved, tvb, offset, 1, octet);
+ proto_tree_add_uint ( rtp_events_tree, hf_rtp_events_volume, tvb, offset, 1, octet);
+
+ proto_tree_add_item ( rtp_events_tree, hf_rtp_events_duration, tvb, offset, 2, FALSE);
}
}
@@ -143,7 +129,7 @@ proto_register_rtp_events(void)
&hf_rtp_events_event,
{
"Event ID",
- "rtp.payload_rtp_events_event",
+ "rtpevent.event_id",
FT_UINT8,
BASE_DEC,
VALS(rtp_event_type_values),
@@ -155,11 +141,11 @@ proto_register_rtp_events(void)
&hf_rtp_events_end,
{
"End of Event",
- "rtp.payload_rtp_events_end",
+ "rtpevent.end_of_event",
FT_BOOLEAN,
- BASE_DEC,
+ 8,
NULL,
- 0x0,
+ 0x80,
"", HFILL
}
},
@@ -167,11 +153,11 @@ proto_register_rtp_events(void)
&hf_rtp_events_reserved,
{
"Reserved",
- "rtp.payload_rtp_events_reserved",
+ "rtpevent.reserved",
FT_BOOLEAN,
- BASE_DEC,
+ 8,
NULL,
- 0x0,
+ 0x40,
"", HFILL
}
},
@@ -179,11 +165,11 @@ proto_register_rtp_events(void)
&hf_rtp_events_volume,
{
"Volume",
- "rtp.payload_rtp_events_volume",
+ "rtpevent.volume",
FT_UINT8,
BASE_DEC,
NULL,
- 0x0,
+ 0x3F,
"", HFILL
}
},
@@ -192,7 +178,7 @@ proto_register_rtp_events(void)
&hf_rtp_events_duration,
{
"Event Duration",
- "rtp.payload_rtp_events_duration",
+ "rtpevent.duration",
FT_UINT16,
BASE_DEC,
NULL,