aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/voip_calls_dialog.cpp
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2015-12-06 22:29:53 +0100
committerAnders Broman <a.broman58@gmail.com>2015-12-09 16:54:33 +0000
commitafaf929d0da03a27ef8824eac3c6b45b4419b062 (patch)
tree72f4cf70904fa1162acea8d53e22f0ba413b43d1 /ui/qt/voip_calls_dialog.cpp
parenteb9d7ebb20976a57ba9693f5f7b5277675849471 (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.cpp10
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
}