Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qgstreameraudiodevice.cpp
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
5
6#include <common/qgst_p.h>
7#include <common/qgstutils_p.h>
8#include <private/qplatformmediaintegration_p.h>
9
11
12QGStreamerCustomAudioDeviceInfo::QGStreamerCustomAudioDeviceInfo(const QByteArray &gstreamerPipeline,
13 QAudioDevice::Mode mode)
14 : QAudioDevicePrivate{
15 gstreamerPipeline,
16 mode,
17 QString::fromUtf8(gstreamerPipeline),
18 }
19{
20}
21
22QAudioDevice qMakeCustomGStreamerAudioInput(const QByteArray &gstreamerPipeline)
23{
24 auto deviceInfo = std::make_unique<QGStreamerCustomAudioDeviceInfo>(gstreamerPipeline,
25 QAudioDevice::Mode::Input);
26
27 return QAudioDevicePrivate::createQAudioDevice(std::move(deviceInfo));
28}
29
30QAudioDevice qMakeCustomGStreamerAudioOutput(const QByteArray &gstreamerPipeline)
31{
32 auto deviceInfo = std::make_unique<QGStreamerCustomAudioDeviceInfo>(gstreamerPipeline,
33 QAudioDevice::Mode::Output);
34
35 return QAudioDevicePrivate::createQAudioDevice(std::move(deviceInfo));
36}
37
38bool isCustomAudioDevice(const QAudioDevicePrivate *device)
39{
40 return dynamic_cast<const QGStreamerCustomAudioDeviceInfo *>(device);
41}
42
43bool isCustomAudioDevice(const QAudioDevice &device)
44{
45 return isCustomAudioDevice(QAudioDevicePrivate::handle(device));
46}
47
48QT_END_NAMESPACE
bool isCustomAudioDevice(const QAudioDevicePrivate *device)
bool isCustomAudioDevice(const QAudioDevice &device)
QAudioDevice qMakeCustomGStreamerAudioInput(const QByteArray &gstreamerPipeline)
QAudioDevice qMakeCustomGStreamerAudioOutput(const QByteArray &gstreamerPipeline)