Bug 510820 - Kdenlive SDL Pipewire Audio Driver ignores virtual devices
Summary: Kdenlive SDL Pipewire Audio Driver ignores virtual devices
Status: CONFIRMED
Alias: None
Product: kdenlive
Classification: Applications
Component: User Interface & Miscellaneous (other bugs)
Version First Reported In: 25.08.2
Platform: Arch Linux Linux
: NOR major
Target Milestone: ---
Assignee: Jean-Baptiste Mardelle
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-10-20 10:07 UTC by Marvin1099
Modified: 2025-12-13 16:48 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marvin1099 2025-10-20 10:07:24 UTC
SUMMARY
When on Linux selecting Pipewire or PulseAudio (with Pipewire host) it never shows any virtual devices.
As i use a 2 Pc setup my mic needs to be in the other pc, i just send it over via tcp.
Same with my speaker its all plugged into my streaming pc and my gaming pc gets to share the devices.
Im using virtual devices for that, so on my gaming pc i have my default device as "game" a virtual speaker that gets send over to my streaming pc.
But i can only select physical audio devices.
How do i make kdenlive be able to use the virtual devices / can you make this so it works.
Seams strange that this has not come up jet, 
there are a lot of setups where people will use a virtual device to output to all attached speakers.

STEPS TO REPRODUCE
1. Be on linux with pipewire working
2. Set audio driver to pipewire or pulseaudio
3. See that you can only use physical audio devices

OBSERVED RESULT
Only lists physical audio devices

EXPECTED RESULT
Should list all audio devices, virtual ones included

SOFTWARE/OS VERSIONS
Operating System: Garuda Linux
KDE Plasma Version: 6.4.5
KDE Frameworks Version: 6.19.0
Qt Version: 6.10.0
Kernel Version: 6.17.3-zen2-1-zen (64-bit)
Graphics Platform: Wayland
Processors: 12 × Intel® Core™ i7-8700K CPU @ 3.70GHz
Memory: 32 GiB of RAM (31.3 GiB usable)
Graphics Processor: NVIDIA GeForce RTX 3070 Ti

ADDITIONAL INFORMATION
The audio connection can be changed in qpwgraph but kdenlive will always go back to a physical device on statup.

As info for my virtual devices setup, there are a few files at:
~/.config/pipewire/pipewire.conf.d/

As example my default virtual device is this file "10-game.conf" and has contents:
context.objects = [
    {   factory = adapter
        args = {
            factory.name     = support.null-audio-sink
            node.name        = "game"
            media.class      = Audio/Sink
            audio.position   = [ FL FR ]
            audio.channels   = 2
            monitor.channel-volumes = true
            adapter.auto-port-config = {
                mode = dsp
                monitor = true
                position = preserve
            }
        }
    }
]

This make one of my virtual devices
Comment 1 Jean-Baptiste Mardelle 2025-10-22 11:40:23 UTC
Thanks for your report. Indeed, MLT does currently not really allow selecting a device. This is probably not that hard to do, we would need a helper function returning a list of found devices that can be displayed in the app, then replace  the calls to sdl2_open_audio(&request, &got) with SDL_OpenAudioDevice(device_name, 0, &request, &got, 0)

https://github.com/mltframework/mlt/blob/master/src/modules/sdl2/consumer_sdl2_audio.c

Will see if I can find time to test this.
Comment 2 Marvin1099 2025-10-24 20:08:03 UTC
(In reply to Jean-Baptiste Mardelle from comment #1)

Thanks
Comment 3 Junxuan Liao 2025-12-13 01:21:02 UTC
(In reply to Jean-Baptiste Mardelle from comment #1)
> Indeed, MLT does currently not really allow
> selecting a device.

So Capture -> Audio -> Device just affects the monitoring but not recording, right?
Comment 4 Marvin1099 2025-12-13 16:48:25 UTC
(In reply to Junxuan Liao from comment #3)
> (In reply to Jean-Baptiste Mardelle from comment #1)
> > Indeed, MLT does currently not really allow
> > selecting a device.
> 
> So Capture -> Audio -> Device just affects the monitoring but not recording,
> right?

Sadly none of my virtual recording devices are detected, unless they are these invisible ones.
Check out this screenshot: https://postimg.cc/NyLSSgzk