aboutsummaryrefslogtreecommitdiff
path: root/include/pipewire_audio.h
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2024-12-06 12:53:44 +0100
committerdec05eba <dec05eba@protonmail.com>2024-12-06 12:53:44 +0100
commit175ed79b06ecb5615eff1df26e932cf644d78300 (patch)
tree8767a0394cf6965a77d6e6817270e710aa6f8d3d /include/pipewire_audio.h
parent1b409478847dd825683b8ac1f1cae613b3155bd9 (diff)
Fix virtual sink not destroyed if gsr is forcefully killed (use pipewire to create the virtual sink instead of pulseaudio)
Diffstat (limited to 'include/pipewire_audio.h')
-rw-r--r--include/pipewire_audio.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/pipewire_audio.h b/include/pipewire_audio.h
index 33fc9eb..e2ffd49 100644
--- a/include/pipewire_audio.h
+++ b/include/pipewire_audio.h
@@ -11,6 +11,7 @@
#define GSR_PIPEWIRE_AUDIO_MAX_STREAM_NODES 128
#define GSR_PIPEWIRE_AUDIO_MAX_PORTS 256
#define GSR_PIPEWIRE_AUDIO_MAX_REQUESTED_LINKS 32
+#define GSR_PIPEWIRE_AUDIO_MAX_VIRTUAL_SINKS 32
typedef enum {
GSR_PIPEWIRE_AUDIO_NODE_TYPE_STREAM_OUTPUT, /* Application audio */
@@ -67,11 +68,16 @@ typedef struct {
gsr_pipewire_audio_requested_link requested_links[GSR_PIPEWIRE_AUDIO_MAX_REQUESTED_LINKS];
int num_requested_links;
+
+ struct pw_proxy *virtual_sink_proxies[GSR_PIPEWIRE_AUDIO_MAX_VIRTUAL_SINKS];
+ int num_virtual_sink_proxies;
} gsr_pipewire_audio;
bool gsr_pipewire_audio_init(gsr_pipewire_audio *self);
void gsr_pipewire_audio_deinit(gsr_pipewire_audio *self);
+bool gsr_pipewire_audio_create_virtual_sink(gsr_pipewire_audio *self, const char *name);
+
/*
This function links audio source outputs from applications that match the name |app_names| to the input
that matches the name |stream_name_input|.