GstEngine: Enable exclusive mode for wasapi2sink
This commit is contained in:
@@ -83,6 +83,7 @@ constexpr char InterAudiosink[] = "interaudiosink";
|
||||
constexpr char kDirectSoundSink[] = "directsoundsink";
|
||||
constexpr char kOSXAudioSink[] = "osxaudiosink";
|
||||
constexpr char kWASAPISink[] = "wasapisink";
|
||||
constexpr char kWASAPI2Sink[] = "wasapi2sink";
|
||||
constexpr int kDiscoveryTimeoutS = 10;
|
||||
constexpr qint64 kTimerIntervalNanosec = 1000 * kNsecPerMsec; // 1s
|
||||
constexpr qint64 kPreloadGapNanosec = 8000 * kNsecPerMsec; // 8s
|
||||
@@ -471,7 +472,7 @@ EngineBase::OutputDetailsList GstEngine::GetOutputsList() const {
|
||||
const QStringList classes = metadata.split(u'/');
|
||||
if (classes.contains("Audio"_L1, Qt::CaseInsensitive) && (classes.contains("Sink"_L1, Qt::CaseInsensitive) || (classes.contains("Source"_L1, Qt::CaseInsensitive) && name.contains("sink"_L1)))) {
|
||||
QString description = QString::fromUtf8(gst_element_factory_get_metadata(factory, GST_ELEMENT_METADATA_DESCRIPTION));
|
||||
if (name == "wasapi2sink"_L1 && description == "Stream audio to an audio capture device through WASAPI"_L1) {
|
||||
if (name == QLatin1String(kWASAPI2Sink) && description == "Stream audio to an audio capture device through WASAPI"_L1) {
|
||||
description.append(u'2');
|
||||
}
|
||||
else if (name == "pipewiresink"_L1 && description == "Send video to PipeWire"_L1) {
|
||||
@@ -512,7 +513,7 @@ bool GstEngine::ALSADeviceSupport(const QString &output) const {
|
||||
}
|
||||
|
||||
bool GstEngine::ExclusiveModeSupport(const QString &output) const {
|
||||
return output == QLatin1String(kWASAPISink);
|
||||
return output == QLatin1String(kWASAPISink) || output == QLatin1String(kWASAPI2Sink);
|
||||
}
|
||||
|
||||
void GstEngine::ReloadSettings() {
|
||||
|
||||
Reference in New Issue
Block a user