Commit Graph

54 Commits

Author SHA1 Message Date
dec05eba
a4b3be3786 Fix application audio node getting recreated by pipewire after suspended (idle) for 30 seconds 2026-01-08 00:53:30 +01:00
dec05eba
88d356386b Test audio 2026-01-07 19:35:03 +01:00
dec05eba
c4104e18cc Test audio node leak fix 2026-01-07 01:35:30 +01:00
dec05eba
62e180903e Add support for camera (yuyv, mjpeg) and multiple capture sources 2025-12-23 18:57:43 +01:00
dec05eba
2c53638bb0 Fix high cpu usage when not receiving audio 2025-12-08 02:22:23 +01:00
dec05eba
3ac17b99a0 App audio capture: remove gsr-app-sink
Connect application/device audio directly to gsr recording node.
This fixes an issue for some users where gsr-app-sink got selected by
default as an output device.

Dont wait until audio node first receives audio before recording audio
from the device. This might fix audio/video desync issue when recording
from microphone for example.
2025-12-07 18:10:18 +01:00
dec05eba
2064d109ee Pipewire audio: set media role to production (hoping for lower latency) 2025-12-07 13:44:11 +01:00
dec05eba
23fd8065b6 Consistent info/warning/error message structure 2025-05-26 16:33:06 +02:00
dec05eba
5f3a14d3f6 Rename window_wayland to wayland and window_x11 to x11 2025-03-05 18:07:52 +01:00
dec05eba
0fff47cc58 Revert "Pulseaudio audio device capture: dont change default output when switching default output"
This reverts commit 902556b143.
2025-03-03 13:36:49 +01:00
dec05eba
902556b143 Pulseaudio audio device capture: dont change default output when switching default output 2025-03-03 13:17:35 +01:00
dec05eba
23122ce9b0 Correct check for default audio output change in pulseaudio 2025-03-01 02:30:24 +01:00
dec05eba
d9eb44fae0 Audio device capture: make default output/input switch recording source the default output/input is changed in the audio server 2025-02-26 18:08:00 +01:00
dec05eba
655fd3756b Comment out unused egl priority for now because amd error is misleading 2024-12-07 22:39:03 +01:00
dec05eba
175ed79b06 Fix virtual sink not destroyed if gsr is forcefully killed (use pipewire to create the virtual sink instead of pulseaudio) 2024-12-06 12:53:44 +01:00
dec05eba
0ee68146a7 Disable application audio recording on pulseaudio 2024-11-17 01:12:12 +01:00
dec05eba
1ff38c2699 Use module-null-sink instead of module-combine-sink 2024-11-13 00:47:15 +01:00
dec05eba
4240f0e334 Add -aa and -aai options to record audio only from selected applications
Use the --list-application-audio option to list available applications
to record from.
2024-11-10 23:54:39 +01:00
dec05eba
aac9b9cde7 Fix incorrect bitrate calculation for constant bitrate 2024-11-05 01:08:56 +01:00
dec05eba
844a54b43b Allow using 'default_output' / 'default_input' as audio devices (-a option), add --list-audio-devices option 2024-08-02 00:14:01 +02:00
dec05eba
8c43a25543 Remove audio compenstation 2024-04-16 18:11:29 +02:00
dec05eba
7e239c8aa2 Test latency comp 2024-04-15 20:30:41 +02:00
dec05eba
fda4c09305 Remove unecessary shit 2024-04-14 15:06:26 +02:00
dec05eba
4dd2a560ee shit 2024-04-14 02:57:36 +02:00
dec05eba
34210f6028 minreq 2024-04-14 01:57:18 +02:00
dec05eba
50ff9fb615 Try different pulseaudio options 2024-04-14 01:55:38 +02:00
dec05eba
b554628099 Revert "Testing audio latency compensation"
This reverts commit 2692a7d22c.
2024-04-14 00:53:15 +02:00
dec05eba
2692a7d22c Testing audio latency compensation 2024-04-14 00:02:47 +02:00
dec05eba
ddac6acaf2 Fix messed up audio on some distros (those using pulseaudio?) 2024-04-11 18:46:34 +02:00
dec05eba
52688dad72 Time based audio latency, test, might fix some shits 2024-04-11 14:40:27 +02:00
dec05eba
6cff1a49d2 Fix all warnings 2023-05-17 18:49:16 +02:00
dec05eba
75ed160122 Implement kms vaapi capture 2023-04-07 05:31:46 +02:00
dec05eba
8ca1ac70e8 Support opus flt and fltp 2023-03-04 16:02:48 +01:00
dec05eba
3413f193c1 Add opus/flac audio options (only supported my mp4/mkv) 2023-03-04 12:57:30 +01:00
dec05eba
a7e0dbd833 Refactor xcomposite into abstract capture api
Refactor c++ files into c files, more usable
2022-10-16 04:15:09 +02:00
dec05eba
88d06478d3 Fix crash caused by invalid memory write when recording audio
In some scenarios memcpy can write to 8 bytes (or more?) over the buffer
end.

Thanks to Guilherme for reporting the issue and testing the fix.
2022-10-07 03:44:54 +02:00
dec05eba
e80d7676d4 Livestream: add silent audio track if not audio input is provided (fixes youtube and other sites) 2022-10-04 01:32:27 +02:00
dec05eba
5871abc42f Allow giving audio inputs names by prefixing them with <name>/ 2022-10-02 01:04:57 +02:00
dec05eba
a1f7fedcb8 Add unique index to each audio input device name 2022-10-02 00:40:49 +02:00
dec05eba
f7606a144b Give error when using an invalid audio input with pipewire 2022-09-30 22:02:23 +02:00
dec05eba
09ad7a1eb5 Give each audio input a seperate node by giving them an unique context name 2022-09-30 21:14:12 +02:00
dec05eba
0059724fdc Read audio data from pulseaudio as it's available and buffer it. Fixes audio recording on pulseaudio (and some pipewire configs) 2022-09-22 01:44:45 +02:00
dec05eba
f810161203 Is this the final solution to the audio crackling problem? increase pts by number of samples and add dummy audio frames between 2022-09-20 20:11:56 +02:00
dec05eba
2b7729efb9 Fix build on ubuntu, use a mainloop with timeout instead of sleep 2022-09-20 11:01:34 +02:00
dec05eba
919890b7b2 Fix replay video/audio desync, fix dummy audio when dropping audio input, give each audio stream a new name so it can be replaced with pipewire graphs 2022-09-20 03:39:15 +02:00
dec05eba
6ea59acb9e Make video framerate constant, fix audio desync a bit when no audio playing for a while 2022-09-02 00:42:22 +02:00
dec05eba
16237d589a Fix audio recording with pipewire and with different pulseaudio system settings (frag) 2022-08-06 09:56:39 +02:00
dec05eba
f81bdfb29e Use /usr/lib64 instead of /usr/lib, which makes it compatible with gentoo 2022-03-22 00:29:20 +01:00
dec05eba
4418871737 Add gpl license to files 2020-06-21 14:41:11 +02:00
dec05eba
32b66c95ff Add pulseaudio, parse command line args 2020-06-21 14:41:11 +02:00