Hi,
When Wireshark 4.0.0 was released, users reported
https://gitlab.com/wireshark/wireshark/-/issues/18413. I verified it and
it really happens, but I have no idea why:
1) It looks that Qt 6.x is the reason. Build with Qt 5.x works fine. But
Qt 6.x code for audio play is very different because of Qt 6.x
Multimedia API changes.
2) Same code for Qt 6.x works on Linux and probably on Mac, just Win32
do not work. On the other hand I found no #ifdef WIN32 in related code.
So probably Qt 6.x on Windows is more sensitive to something.
3) I tested Qt 6.2.3 (used for production) and 6.3.1 in my development
environment. No difference.
4) I checked Qt bug database and found no related issues.
5) I tested v4.0.0 tag and master, none of it works. There is high
probability that it do not work on Windows with Qt 6.x for longer period
and I didn't noticed it - I'm mainly developing on Linux.
6) All other and audio related functions works fine so it looks that the
wireshark code is correct.
By fortune, I found it. Multimedia framework of Qt6 obviously process
audio slightly different way on Win32 then on other platforms. As
consequence, it changes states of multimedia objects and sends events
different way. It triggered race condition on Win32 which randomly
caused observed misbehaving.
Best regards,
Jirka Novak