aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-applemidi.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-applemidi.c')
-rw-r--r--epan/dissectors/packet-applemidi.c49
1 files changed, 23 insertions, 26 deletions
diff --git a/epan/dissectors/packet-applemidi.c b/epan/dissectors/packet-applemidi.c
index 472e8715b9..7cde41ab72 100644
--- a/epan/dissectors/packet-applemidi.c
+++ b/epan/dissectors/packet-applemidi.c
@@ -61,25 +61,25 @@ void proto_reg_handoff_applemidi(void);
#define APPLEMIDI_COMMAND_RECEIVER_FEEDBACK 0x5253 /* "RS" */
#define APPLEMIDI_COMMAND_BITRATE_RECEIVE_LIMIT 0x524c /* "RL" */
-static int hf_applemidi_signature = -1;
-static int hf_applemidi_command = -1;
-static int hf_applemidi_protocol_version = -1;
-static int hf_applemidi_token = -1;
-static int hf_applemidi_ssrc = -1;
-static int hf_applemidi_name = -1;
-static int hf_applemidi_count = -1;
-static int hf_applemidi_padding = -1;
-static int hf_applemidi_timestamp1 = -1;
-static int hf_applemidi_timestamp2 = -1;
-static int hf_applemidi_timestamp3 = -1;
-static int hf_applemidi_sequence_num = -1;
-static int hf_applemidi_rtp_sequence_num = -1;
-static int hf_applemidi_rtp_bitrate_limit = -1;
-static int hf_applemidi_unknown_data = -1;
-
-
-static gint ett_applemidi = -1;
-static gint ett_applemidi_seq_num = -1;
+static int hf_applemidi_signature;
+static int hf_applemidi_command;
+static int hf_applemidi_protocol_version;
+static int hf_applemidi_token;
+static int hf_applemidi_ssrc;
+static int hf_applemidi_name;
+static int hf_applemidi_count;
+static int hf_applemidi_padding;
+static int hf_applemidi_timestamp1;
+static int hf_applemidi_timestamp2;
+static int hf_applemidi_timestamp3;
+static int hf_applemidi_sequence_num;
+static int hf_applemidi_rtp_sequence_num;
+static int hf_applemidi_rtp_bitrate_limit;
+static int hf_applemidi_unknown_data;
+
+
+static gint ett_applemidi;
+static gint ett_applemidi_seq_num;
static const value_string applemidi_commands[] = {
@@ -94,7 +94,7 @@ static const value_string applemidi_commands[] = {
};
-static int proto_applemidi = -1;
+static int proto_applemidi;
static dissector_handle_t applemidi_handle;
static dissector_handle_t rtp_handle;
@@ -152,7 +152,7 @@ dissect_applemidi_common( tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, g
if ( len > 0 ) {
name = tvb_get_string_enc( pinfo->pool, tvb, offset, len, ENC_UTF_8|ENC_NA );
string_size = (gint)( strlen( name ) + 1 );
- proto_tree_add_item( applemidi_tree, hf_applemidi_name, tvb, offset, string_size, ENC_UTF_8|ENC_NA );
+ proto_tree_add_item( applemidi_tree, hf_applemidi_name, tvb, offset, string_size, ENC_UTF_8 );
col_append_fstr( pinfo->cinfo, COL_INFO, ": peer = \"%s\"", name );
offset += string_size;
}
@@ -283,7 +283,7 @@ dissect_applemidi_heur( tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi
address/port-tuple to cause RTP-dissector to call the RTP-MIDI-dissector for payload-decoding */
rtp_dyn_payload = rtp_dyn_payload_new();
- rtp_dyn_payload_insert(rtp_dyn_payload, 97, "rtp-midi", 10000);
+ rtp_dyn_payload_insert(rtp_dyn_payload, 97, "rtp-midi", 10000, 1);
rtp_add_address( pinfo, PT_UDP, &pinfo->src, pinfo->srcport, 0, APPLEMIDI_DISSECTOR_SHORTNAME,
pinfo->num, FALSE, rtp_dyn_payload);
@@ -500,14 +500,11 @@ proto_register_applemidi( void )
proto_register_field_array( proto_applemidi, hf, array_length( hf ) );
proto_register_subtree_array( ett, array_length( ett ) );
+ applemidi_handle = register_dissector( "applemidi", dissect_applemidi, proto_applemidi );
}
void
proto_reg_handoff_applemidi( void ) {
-
-
- applemidi_handle = create_dissector_handle( dissect_applemidi, proto_applemidi );
-
/* If we cannot decode the data it will be RTP-MIDI since the Apple session protocol uses
* two ports: the control-port and the MIDI-port. On both ports an invitation is being sent.
* The second port is then used for the RTP-MIDI-data. So if we can't find valid AppleMidi