summaryrefslogtreecommitdiffstats
path: root/tests/auto/unit/mockbackend/qmockaudiodevices.cpp
blob: c95ac706ba5ae74d8a1c9fd121787c0adfc0c6cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

#include "qmockaudiodevices.h"
#include "private/qcameradevice_p.h"
#include "private/qaudiodevice_p.h"

QT_BEGIN_NAMESPACE

QMockAudioDevices::QMockAudioDevices() = default;

QMockAudioDevices::~QMockAudioDevices() = default;

void QMockAudioDevices::addAudioInput()
{
    auto devicePrivate =
            std::make_unique<QAudioDevicePrivate>(QString::number(m_inputDevices.size()).toLatin1(),
                                                  QAudioDevice::Input, "MockAudioInput");
    m_inputDevices.push_back(QAudioDevicePrivate::createQAudioDevice(std::move(devicePrivate)));
    onAudioInputsChanged();
}

void QMockAudioDevices::addAudioOutput()
{
    auto devicePrivate = std::make_unique<QAudioDevicePrivate>(
            QString::number(m_outputDevices.size()).toLatin1(), QAudioDevice::Output,
            "MockAudioOutput");
    m_outputDevices.push_back(QAudioDevicePrivate::createQAudioDevice(std::move(devicePrivate)));
    onAudioOutputsChanged();
}

QList<QAudioDevice> QMockAudioDevices::findAudioInputs() const
{
    ++m_findAudioInputsInvokeCount;
    return m_inputDevices;
}

QList<QAudioDevice> QMockAudioDevices::findAudioOutputs() const
{
    ++m_findAudioOutputsInvokeCount;
    return m_outputDevices;
}

QPlatformAudioSource *QMockAudioDevices::createAudioSource(const QAudioDevice &,
                                                           const QAudioFormat &, QObject *)
{
    return nullptr;
}

QPlatformAudioSink *QMockAudioDevices::createAudioSink(const QAudioDevice &, const QAudioFormat &,
                                                       QObject *)
{
    return nullptr;
}


QT_END_NAMESPACE