summaryrefslogtreecommitdiff
path: root/wsutil
diff options
context:
space:
mode:
authorJiri Novak <j.novak@netsystem.cz>2016-12-13 13:28:30 +0100
committerAnders Broman <a.broman58@gmail.com>2016-12-15 05:16:29 +0000
commit9090afbfe9a4f9a422409c3f9d410bc3c14fc741 (patch)
treeba111a5eee19019502dc31a2095aaf52098d23db /wsutil
parent1afbab69956c32b341001dd20ff667036fe1f8f5 (diff)
downloadwireshark-9090afbfe9a4f9a422409c3f9d410bc3c14fc741.tar.gz
Save RTP audio to file: RTP Stream Analysis dialog allows save audio for non G.711 codecs and mixed codecs
- spaghetti code for save was split into separate functions - code saves G.711 only, all other codecs are saved as silence with correct duration - code is ready to include other codecs - code supports 8000 Hz sampling rate only, other rates are rejected with warning - bidirectional stream (forward and reverse) creates stereo .au file - output is based on timestamps in RTP streams - save operation is slower than before because it is set of seek() - one per each codec sample - code allows align of save audio: - as it is - each stream is saved from its beginning, no aling - to start of each other - later stream is prepended with silence - align saved audio to beginning of capture file - each stream is prepended with silence - save to raw works correctly now - only payload is saved - old code was inserting G.711 silence time to time to raw data Bug: 13242 Change-Id: I74d02a1cc1c75acf9ffe930d078c00a0555cbfb6 Reviewed-on: https://code.wireshark.org/review/19245 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'wsutil')
-rw-r--r--wsutil/pint.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/wsutil/pint.h b/wsutil/pint.h
index 80dd4e0d3e..02012537ee 100644
--- a/wsutil/pint.h
+++ b/wsutil/pint.h
@@ -137,4 +137,7 @@
((guint8*)(p))[3] = (guint8)((v) >> 0); \
}
+/* Subtract two guint32s with respect to wraparound */
+#define guint32_wraparound_diff(higher, lower) ((higher>lower)?(higher-lower):(higher+0xffffffff-lower+1))
+
#endif /* PINT_H */