Wireshark-dev: Re: [Wireshark-dev] RTP player on Windows/Qt 6.x do not play any sound

From: Jirka Novak <j.novak@xxxxxxxxxxxx>
Date: Sat, 8 Oct 2022 08:51:04 +0200
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