diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2015-12-06 22:29:53 +0100 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2015-12-09 16:54:33 +0000 |
commit | afaf929d0da03a27ef8824eac3c6b45b4419b062 (patch) | |
tree | 72f4cf70904fa1162acea8d53e22f0ba413b43d1 /ui/qt/voip_calls_dialog.cpp | |
parent | eb9d7ebb20976a57ba9693f5f7b5277675849471 (diff) |
Qt: various fixes to VoIP calls / RTP player windows
- Flush any remaining tapped packets before emitting captureFileRetapFinished().
This ensures that all packets have been treated before returning from retapPackets().
- Remove VoIP tap listeners when captureFileRetapFinished() is emitted.
This avoid summing stats each time the RTP player is opened, leading to wrong
information in VoIP calls window
- Change voip_calls_tapinfo_t redraw member from a boolean to bitmap so as to identify
which tap should call the tapinfo->tap_draw() callback. This allows fixing a race condition
where the RTP player can be empty in Qt UI
- Reset some more statistics in voip_calls_reset_all_taps()
Change-Id: Ie7681702c81d338185c1813f2d340a437edf3a04
Reviewed-on: https://code.wireshark.org/review/12474
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'ui/qt/voip_calls_dialog.cpp')
-rw-r--r-- | ui/qt/voip_calls_dialog.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/ui/qt/voip_calls_dialog.cpp b/ui/qt/voip_calls_dialog.cpp index 4f29cfd399..8a57bf99c2 100644 --- a/ui/qt/voip_calls_dialog.cpp +++ b/ui/qt/voip_calls_dialog.cpp @@ -221,6 +221,12 @@ VoipCallsDialog::~VoipCallsDialog() g_queue_free(tapinfo_.callsinfos); } +void VoipCallsDialog::endRetapPackets() +{ + voip_calls_remove_all_tap_listeners(&tapinfo_); + WiresharkDialog::endRetapPackets(); +} + void VoipCallsDialog::captureFileClosing() { voip_calls_remove_all_tap_listeners(&tapinfo_); @@ -280,7 +286,7 @@ void VoipCallsDialog::tapDraw(void *tapinfo_ptr) if (rsi->start_fd->num == sai->frame_number) { rsi->call_num = sai->conv_num; - // VOIP_CALLS_DEBUG("setting conv num %u for frame %u", sai->conv_num, sai->fd->num); + // VOIP_CALLS_DEBUG("setting conv num %u for frame %u", sai->conv_num, sai->frame_number); } } } @@ -516,8 +522,6 @@ void VoipCallsDialog::showPlayer() connect(&rtp_player_dialog, SIGNAL(goToPacket(int)), this, SIGNAL(goToPacket(int))); - // XXX This retaps the packet list. We still have our own tap listener - // registered at this point. rtp_player_dialog.exec(); #endif // QT_MULTIMEDIA_LIB } |