summaryrefslogtreecommitdiffstats
path: root/examples/multimedia/devices/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/multimedia/devices/main.cpp')
-rw-r--r--examples/multimedia/devices/main.cpp183
1 files changed, 0 insertions, 183 deletions
diff --git a/examples/multimedia/devices/main.cpp b/examples/multimedia/devices/main.cpp
deleted file mode 100644
index 79c1afb25..000000000
--- a/examples/multimedia/devices/main.cpp
+++ /dev/null
@@ -1,183 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QTextStream>
-#include <QString>
-#include <QAudioFormat>
-
-#include <QAudioDevice>
-#include <QCameraDevice>
-#include <qmediadevices.h>
-
-#include <stdio.h>
-
-QString formatToString(QAudioFormat::SampleFormat sampleFormat)
-{
- switch (sampleFormat) {
- case QAudioFormat::UInt8:
- return "UInt8";
- case QAudioFormat::Int16:
- return "Int16";
- case QAudioFormat::Int32:
- return "Int32";
- case QAudioFormat::Float:
- return "Float";
- default:
- return "Unknown";
- }
-}
-
-QString positionToString(QCameraDevice::Position position)
-{
- switch (position) {
- case QCameraDevice::BackFace:
- return "BackFace";
- case QCameraDevice::FrontFace:
- return "FrontFace";
- default:
- return "Unspecified";
- }
-}
-
-void printAudioDeviceInfo(QTextStream &out, const QAudioDevice &deviceInfo)
-{
- const auto isDefault = deviceInfo.isDefault() ? "Yes" : "No";
- const auto preferredFormat = deviceInfo.preferredFormat();
- const auto supportedFormats = deviceInfo.supportedSampleFormats();
- out.setFieldWidth(30);
- out.setFieldAlignment(QTextStream::AlignLeft);
- out << "Name: " << deviceInfo.description() << qSetFieldWidth(0) << Qt::endl;
- out.setFieldWidth(30);
- out << "Id: " << QString::fromLatin1(deviceInfo.id()) << qSetFieldWidth(0) << Qt::endl;
- out.setFieldWidth(30);
- out << "Default: " << isDefault << qSetFieldWidth(0) << Qt::endl;
- out.setFieldWidth(30);
- out << "Preferred Format: " << formatToString(preferredFormat.sampleFormat()) << qSetFieldWidth(0) << Qt::endl;
- out.setFieldWidth(30);
- out << "Preferred Rate: " << preferredFormat.sampleRate() << qSetFieldWidth(0) << Qt::endl;
- out.setFieldWidth(30);
- out << "Preferred Channels: " << preferredFormat.channelCount() << qSetFieldWidth(0) << Qt::endl;
- out.setFieldWidth(30);
- out << "Supported Formats: ";
- for (auto &format: supportedFormats)
- out << qSetFieldWidth(0) << formatToString(format) << " ";
- out << Qt::endl;
- out.setFieldWidth(30);
- out << "Supported Rates: " << qSetFieldWidth(0) << deviceInfo.minimumSampleRate() << " - "
- << deviceInfo.maximumSampleRate() << Qt::endl;
- out.setFieldWidth(30);
- out << "Supported Channels: " << qSetFieldWidth(0) << deviceInfo.minimumChannelCount() << " - "
- << deviceInfo.maximumChannelCount() << Qt::endl;
-
- out << Qt::endl;
-}
-
-void printVideoDeviceInfo(QTextStream &out, const QCameraDevice &cameraDevice)
-{
- const auto isDefault = cameraDevice.isDefault() ? "Yes" : "No";
- const auto position = cameraDevice.position();
- const auto photoResolutions = cameraDevice.photoResolutions();
- const auto videoFormats = cameraDevice.videoFormats();
-
- out.setFieldWidth(30);
- out.setFieldAlignment(QTextStream::AlignLeft);
- out << "Name: " << cameraDevice.description() << qSetFieldWidth(0) << Qt::endl;
- out.setFieldWidth(30);
- out << "Id: " << QString::fromLatin1(cameraDevice.id()) << qSetFieldWidth(0) << Qt::endl;
- out.setFieldWidth(30);
- out << "Default: " << isDefault << qSetFieldWidth(0) << Qt::endl;
- out.setFieldWidth(30);
- out << "Position: " << positionToString(position) << qSetFieldWidth(0) << Qt::endl;
- out.setFieldWidth(30);
- out << "Photo Resolutions: ";
- for (auto &resolution: photoResolutions) {
- QString s = QString("%1x%2").arg(resolution.width()).arg(resolution.height());
- out << qSetFieldWidth(0) << s << ", ";
- }
- out.setFieldWidth(10);
- out << Qt::endl << Qt::endl;
- out << "Supported Video Formats: " << qSetFieldWidth(0) << Qt::endl;
- for (auto &format: videoFormats) {
- out.setFieldWidth(30);
- QString s = QString("%1x%2").arg(format.resolution().width()).arg(format.resolution().height());
- out << "Resolution: " << s << qSetFieldWidth(0) << Qt::endl;
- out.setFieldWidth(30);
- out << "Frame Rate: " << qSetFieldWidth(0) << "Min:" << format.minFrameRate() << " Max:" << format.maxFrameRate() << Qt::endl;
- }
-
- out << Qt::endl;
-
-}
-
-
-int main(int argc, char *argv[])
-{
- Q_UNUSED(argc);
- Q_UNUSED(argv);
- QTextStream out(stdout);
-
- const auto audioInputDevices = QMediaDevices::audioInputs();
- const auto audioOutputDevices = QMediaDevices::audioOutputs();
- const auto videoInputDevices = QMediaDevices::videoInputs();
-
- out << "Audio devices detected: " << Qt::endl;
- out << Qt::endl << "Input" << Qt::endl;
- for (auto &deviceInfo: audioInputDevices)
- printAudioDeviceInfo(out, deviceInfo);
- out << Qt::endl << "Output" << Qt::endl;
- for (auto &deviceInfo: audioOutputDevices)
- printAudioDeviceInfo(out, deviceInfo);
-
- out << Qt::endl << "Video devices detected: " << Qt::endl;
- for (auto &cameraDevice : videoInputDevices)
- printVideoDeviceInfo(out, cameraDevice);
-
- return 0;
-}