diff options
Diffstat (limited to 'epan/dissectors/packet-applemidi.c')
-rw-r--r-- | epan/dissectors/packet-applemidi.c | 49 |
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 |