Wireshark-commits: [Wireshark-commits] master a8562b2: Add handling of OSC over TCP; fix a bug in t
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=a8562b2a66dcef1214d4585af012fb0544c0497c
Submitter: Bill Meier (wmeier@xxxxxxxxxxx)
Changed: branch: master
Repository: wireshark
Commits:
a8562b2 by Bill Meier (wmeier@xxxxxxxxxxx):
Add handling of OSC over TCP; fix a bug in the UDP heuristic.
Bug Fixed: UDP heuristic wasn't properly setting the dissector
for the UDP conversation.
From https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9837#c3:
I did a little survey about alternative OSC transmission, but UDP.
As OSC is packet-based, it is tramitted raw via packet-oriented protocols (e.g. UDP).
For reliable stream-based protocols (TCP, USB), the raw OSC packet is
prefixed with the packets Int32 size as a packetization scheme.
For unreliable stream-based protocols (RS232 and other serial lines),
the raw OSC packet is SLIP and/or double SLIP encoded as packetization
scheme.
There was discussion in the past to make SLIP encoding the default for
all stream-based protocols, but apparently it has never been adopted
for any OSC via TCP implementation I've found in the web.
As OSC is used in networked Audio, most implementations run with the
Nagle algorithm disable, and send the prefixed length and the raw OSC
packet separately.
Change-Id: Ife690cc5ea0575c65124a7b441431e1cc6ba5091
Reviewed-on: https://code.wireshark.org/review/858
Reviewed-by: Bill Meier <wmeier@xxxxxxxxxxx>
Tested-by: Bill Meier <wmeier@xxxxxxxxxxx>
Actions performed:
from f7c6254 tvb_get_ascii_string is really expensive. On a large capture file which I profiled in october Fetch cost has gone from 15,6M to 24,2M, changing tvb_get_string() to tvb_get_string_enc() with ENC_UTF_8 where it seems safe helps a bit and should be done any way.
adds a8562b2 Add handling of OSC over TCP; fix a bug in the UDP heuristic.
Summary of changes:
epan/dissectors/packet-osc.c | 118 ++++++++++++++++++++++++++++++++----------
1 file changed, 92 insertions(+), 26 deletions(-)