1/****************************************************************************
2**
3** Copyright (C) 2016 The Qt Company Ltd.
4** Contact: https://www.qt.io/licensing/
5**
6** This file is part of the test suite of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:GPL-EXCEPT$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The Qt Company. For licensing terms
14** and conditions see https://www.qt.io/terms-conditions. For further
15** information use the contact form at https://www.qt.io/contact-us.
16**
17** GNU General Public License Usage
18** Alternatively, this file may be used under the terms of the GNU
19** General Public License version 3 as published by the Free Software
20** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
21** included in the packaging of this file. Please review the following
22** information to ensure the GNU General Public License requirements will
23** be met: https://www.gnu.org/licenses/gpl-3.0.html.
24**
25** $QT_END_LICENSE$
26**
27****************************************************************************/
28
29#ifndef MOCKAUDIOENCODERCONTROL_H
30#define MOCKAUDIOENCODERCONTROL_H
31
32#include "qaudioencodersettingscontrol.h"
33
34class MockAudioEncoderControl : public QAudioEncoderSettingsControl
35{
36 Q_OBJECT
37public:
38 MockAudioEncoderControl(QObject *parent):
39 QAudioEncoderSettingsControl(parent)
40 {
41 m_codecs << "audio/pcm" << "audio/mpeg";
42 m_descriptions << "Pulse Code Modulation" << "mp3 format";
43 m_audioSettings.setCodec("audio/pcm");
44 m_audioSettings.setBitRate(128*1024);
45 m_audioSettings.setSampleRate(8000);
46 m_freqs << 8000 << 11025 << 22050 << 44100;
47 }
48
49 ~MockAudioEncoderControl() {}
50
51 QAudioEncoderSettings audioSettings() const
52 {
53 return m_audioSettings;
54 }
55
56 void setAudioSettings(const QAudioEncoderSettings &settings)
57 {
58 m_audioSettings = settings;
59 }
60
61 QList<int> supportedChannelCounts(const QAudioEncoderSettings & = QAudioEncoderSettings()) const
62 {
63 QList<int> list; list << 1 << 2; return list;
64 }
65
66 QList<int> supportedSampleRates(const QAudioEncoderSettings & = QAudioEncoderSettings(), bool *continuous = 0) const
67 {
68 if (continuous)
69 *continuous = false;
70
71 return m_freqs;
72 }
73
74 QStringList supportedAudioCodecs() const
75 {
76 return m_codecs;
77 }
78
79 QString codecDescription(const QString &codecName) const
80 {
81 return m_descriptions.value(i: m_codecs.indexOf(t: codecName));
82 }
83
84private:
85 QAudioEncoderSettings m_audioSettings;
86
87 QStringList m_codecs;
88 QStringList m_descriptions;
89
90 QList<int> m_freqs;
91
92};
93
94#endif // MOCKAUDIOENCODERCONTROL_H
95

source code of qtmultimedia/tests/auto/unit/qmultimedia_common/mockaudioencodercontrol.h