Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-55894

[WinRT/WASAPI] Not honoring thread affinity

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: P2: Important P2: Important
    • 5.7.1, 5.8.0 Beta
    • 5.7.0, 5.8.0 Alpha
    • Multimedia
    • None
    • WinRT/UWP
    • WinRT
    • f92874545bbe79fa72eed773dabc49d109b7b6ca

      WASAPI is the only audio backend that completely ignores the QObject thread affinity and makes callbacks read to the QIODevice on a different thread from QAudioOutput::thread() / QIODevice::thread() causing heaps of potential thread corruption issues.

      The documentation makes no mention of this having thread safety issues nor do any of the other implementation.

      This could easily be fixed by using QWinEventNotifier to run the callbacks on the same thread as the QAudioOutput, but WinRT doesn't implement QWinEventNotifier even though it already watches events for timers.

      See suggestion QTBUG-55893.

        For Gerrit Dashboard: QTBUG-55894
        # Subject Branch Project Status CR V

            mkalinow Maurice Kalinowski
            kristjanbb Kristján Birgisson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes