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
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.
(In reply to Jean-Baptiste Mardelle from comment #1) Thanks
(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?
(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