@@ -87,6 +87,7 @@ PipewireEnumerator::PipewireEnumerator(UserSettingsPointer, SoundManager* pManag
8787 m_sampleRate(48000 ),
8888 m_audioLatencyUsage(kAppGroup , QStringLiteral(" audio_latency_usage" )),
8989 m_coPipewirePatchbaySync(ConfigKey(kAppGroup , QStringLiteral(" pipewire_patchbay_sync" ))),
90+ m_coOutputLatencyMs(kAppGroup , QStringLiteral(" output_latency_ms" )),
9091 m_framesPerBuffer(0 ) {
9192 connect (m_pSoundManager,
9293 &SoundManager::inputRegistered,
@@ -558,9 +559,7 @@ bool PipewireEnumerator::isOpen(uint32_t id) {
558559}
559560
560561std::string PipewireEnumerator::openDeviceInput (uint32_t deviceId,
561- const AudioInput& input,
562- mixxx::audio::SampleRate sampleRate,
563- SINT framesPerBuffer) {
562+ const AudioInput& input) {
564563 std::string result;
565564 VERIFY_OR_DEBUG_ASSERT (m_initialized) {
566565 qDebug () << " PipewireEnumerator::openDevice called when "
@@ -572,10 +571,6 @@ std::string PipewireEnumerator::openDeviceInput(uint32_t deviceId,
572571 return {};
573572 }
574573
575- if (sampleRate != m_sampleRate || framesPerBuffer != m_framesPerBuffer) {
576- updateFilterLatency (sampleRate, framesPerBuffer);
577- }
578-
579574 PortPair& ports = m_inputs.at (input);
580575 ports.activeDevice = deviceId;
581576
@@ -605,10 +600,7 @@ std::string PipewireEnumerator::openDeviceInput(uint32_t deviceId,
605600 return result;
606601}
607602
608- std::string PipewireEnumerator::openDeviceOutput (uint32_t deviceId,
609- const AudioOutput& output,
610- mixxx::audio::SampleRate sampleRate,
611- SINT framesPerBuffer) {
603+ std::string PipewireEnumerator::openDeviceOutput (uint32_t deviceId, const AudioOutput& output) {
612604 std::string result;
613605 VERIFY_OR_DEBUG_ASSERT (m_initialized) {
614606 qDebug () << " PipewireEnumerator::openDevice called when "
@@ -620,10 +612,6 @@ std::string PipewireEnumerator::openDeviceOutput(uint32_t deviceId,
620612 return {};
621613 }
622614
623- if (sampleRate != m_sampleRate || framesPerBuffer != m_framesPerBuffer) {
624- updateFilterLatency (sampleRate, framesPerBuffer);
625- }
626-
627615 PortPair& ports = m_outputs.at (output);
628616 ports.activeDevice = deviceId;
629617
@@ -1031,3 +1019,11 @@ bool PipewireEnumerator::nodeHasPorts(const Node& node) {
10311019
10321020 return false ;
10331021}
1022+
1023+ void PipewireEnumerator::setLatencyParams (
1024+ mixxx::audio::SampleRate sampleRate, SINT framesPerBuffer) {
1025+ qDebug () << " PipewireEnumerator::setLatencyParams" << sampleRate << framesPerBuffer;
1026+ if (sampleRate != m_sampleRate || framesPerBuffer != m_framesPerBuffer) {
1027+ updateFilterLatency (sampleRate, framesPerBuffer);
1028+ }
1029+ }
0 commit comments