diff options
author | Gerald Combs <gerald@wireshark.org> | 2014-12-12 16:51:40 -0800 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2015-10-02 18:26:05 +0000 |
commit | 3687d393040a40655d84e3e03417a474032bad86 (patch) | |
tree | 55f208b60abb59c5812bae2407a9b36dfdd2f09a /ui/tap-sequence-analysis.h | |
parent | fd5eafa50a77bc319a240727600be38307e54f86 (diff) | |
download | wireshark-3687d393040a40655d84e3e03417a474032bad86.tar.gz |
Qt: Initial RTP playback.
Note the "initial". This is woefully incomplete. See the "to do" lists
below and in the code.
This differs a bit from the GTK+ version in that you specify one or more
streams to be decoded.
Instead of showing waveforms in individual widgets, add them all to a
single QCustomPlot. This conserves screen real estate and lets us more
easily take advantage of the QCP API. It also looks better IMHO.
Change a bunch of checks for QtMultimediaWidgets to QtMultimedia. We
probably won't use the widgets until we make 5.0 our minimum Qt
version and plain old QtMultimedia lets us support Qt 4 more easily
(in theory at least).
Add resampling code from libspeex. I initially used this to resample
each packet to match the preferred rate of our output device, but this
resulted in poorer audio quality than expected. Leave it in and use to
create visual samples for QCP and to match rates any time the rate
changes. The latter is currently untested.
Add some debugging macros.
Note that both the RTP player and RTP analysis dialogs decode audio data
using different code.
Note that voip_calls_packet and voip_calls_init_tap appear to be dead
code.
To do:
- Add silence frames where needed.
- Implement the jitter buffer.
- Implement the playback timing controls.
- Tapping / scanning streams might be too slow.
Change-Id: I20dd3b66d3df53c9b1f3501262dc01458849f6b4
Bug: 9007
Reviewed-on: https://code.wireshark.org/review/10458
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'ui/tap-sequence-analysis.h')
-rw-r--r-- | ui/tap-sequence-analysis.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/ui/tap-sequence-analysis.h b/ui/tap-sequence-analysis.h index fa0ba95df8..f3b900464e 100644 --- a/ui/tap-sequence-analysis.h +++ b/ui/tap-sequence-analysis.h @@ -72,12 +72,27 @@ typedef struct _seq_analysis_info { gboolean all_packets; /**< all packets vs only displayed */ gboolean any_addr; /**< any addr (DL+net) vs net-only */ int nconv; /**< number of conversations in the list */ - GQueue* items; /**< list with the graph analysis items */ - GHashTable *ht; /**< hash table for retrieving graph analysis items */ + GQueue* items; /**< list of seq_analysis_info_t */ + GHashTable *ht; /**< hash table of seq_analysis_info_t */ address nodes[MAX_NUM_NODES]; /**< horizontal node list */ guint32 num_nodes; /**< actual number of nodes */ } seq_analysis_info_t; +#if 0 +#ifdef _MSC_VER +#define _ws_func_ __FUNCTION__ +#else +#define _ws_func_ __func__ +#endif +#define SEQ_ANALYSIS_DEBUG(...) { \ + char *SEQ_ANALYSIS_DEBUG_MSG = g_strdup_printf(__VA_ARGS__); \ + g_warning("sequence analysis: %s:%d %s", _ws_func_, __LINE__, SEQ_ANALYSIS_DEBUG_MSG); \ + g_free(SEQ_ANALYSIS_DEBUG_MSG); \ +} +#else +#define SEQ_ANALYSIS_DEBUG() +#endif + /** Create and initialize a seq_analysis_info_t struct * @return A pointer to a newly allocated seq_analysis_info_t struct. */ |