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

[WinRT/WASAPI] Not honoring thread affinity

    XMLWordPrintable

Details

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

    Description

      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.

      Attachments

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

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes