mirror of
https://repo.dec05eba.com/gpu-screen-recorder
synced 2026-05-05 22:40:42 +09:00
Fix application audio not working correctly after a recent update
This commit is contained in:
@@ -365,6 +365,8 @@ static bool gsr_pipewire_audio_listen_on_metadata(gsr_pipewire_audio *self, uint
|
|||||||
|
|
||||||
pw_proxy_add_object_listener(self->metadata_proxy, &self->metadata_listener, &metadata_events, self);
|
pw_proxy_add_object_listener(self->metadata_proxy, &self->metadata_listener, &metadata_events, self);
|
||||||
pw_proxy_add_listener(self->metadata_proxy, &self->metadata_proxy_listener, &metadata_proxy_events, self);
|
pw_proxy_add_listener(self->metadata_proxy, &self->metadata_proxy_listener, &metadata_proxy_events, self);
|
||||||
|
|
||||||
|
self->server_version_sync = pw_core_sync(self->core, PW_ID_CORE, self->server_version_sync);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -562,12 +564,12 @@ bool gsr_pipewire_audio_init(gsr_pipewire_audio *self) {
|
|||||||
// TODO: Error check
|
// TODO: Error check
|
||||||
pw_core_add_listener(self->core, &self->core_listener, &core_events, self);
|
pw_core_add_listener(self->core, &self->core_listener, &core_events, self);
|
||||||
|
|
||||||
self->server_version_sync = pw_core_sync(self->core, PW_ID_CORE, 0);
|
|
||||||
pw_thread_loop_wait(self->thread_loop);
|
|
||||||
|
|
||||||
self->registry = pw_core_get_registry(self->core, PW_VERSION_REGISTRY, 0);
|
self->registry = pw_core_get_registry(self->core, PW_VERSION_REGISTRY, 0);
|
||||||
pw_registry_add_listener(self->registry, &self->registry_listener, ®istry_events, self);
|
pw_registry_add_listener(self->registry, &self->registry_listener, ®istry_events, self);
|
||||||
|
|
||||||
|
self->server_version_sync = pw_core_sync(self->core, PW_ID_CORE, self->server_version_sync);
|
||||||
|
pw_thread_loop_wait(self->thread_loop);
|
||||||
|
|
||||||
pw_thread_loop_unlock(self->thread_loop);
|
pw_thread_loop_unlock(self->thread_loop);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -595,6 +597,9 @@ void gsr_pipewire_audio_deinit(gsr_pipewire_audio *self) {
|
|||||||
self->metadata_proxy = NULL;
|
self->metadata_proxy = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
spa_hook_remove(&self->registry_listener);
|
||||||
|
spa_hook_remove(&self->core_listener);
|
||||||
|
|
||||||
if(self->core) {
|
if(self->core) {
|
||||||
pw_core_disconnect(self->core);
|
pw_core_disconnect(self->core);
|
||||||
self->core = NULL;
|
self->core = NULL;
|
||||||
|
|||||||
Reference in New Issue
Block a user