SDL: audio: pipewire: Reset all hotplug values and pointers on shutdown

From 9da9e85cba08b8fad35044c12fdefecd8c8ebcf2 Mon Sep 17 00:00:00 2001
From: Frank Praznik <[EMAIL REDACTED]>
Date: Tue, 8 Feb 2022 12:59:01 -0500
Subject: [PATCH] audio: pipewire: Reset all hotplug values and pointers on
 shutdown

Ensure that all hotplug variables and pointers are reset to NULL or their original value when shutting down.
---
 src/audio/pipewire/SDL_pipewire.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/audio/pipewire/SDL_pipewire.c b/src/audio/pipewire/SDL_pipewire.c
index 0c1436f1f7f..1d119c8e677 100644
--- a/src/audio/pipewire/SDL_pipewire.c
+++ b/src/audio/pipewire/SDL_pipewire.c
@@ -744,20 +744,27 @@ hotplug_loop_destroy()
     hotplug_init_complete  = SDL_FALSE;
     hotplug_events_enabled = SDL_FALSE;
 
+    pipewire_default_sink_id   = SPA_ID_INVALID;
+    pipewire_default_source_id = SPA_ID_INVALID;
+
     if (hotplug_registry) {
         PIPEWIRE_pw_proxy_destroy((struct pw_proxy *)hotplug_registry);
+        hotplug_registry = NULL;
     }
 
     if (hotplug_core) {
         PIPEWIRE_pw_core_disconnect(hotplug_core);
+        hotplug_core = NULL;
     }
 
     if (hotplug_context) {
         PIPEWIRE_pw_context_destroy(hotplug_context);
+        hotplug_context = NULL;
     }
 
     if (hotplug_loop) {
         PIPEWIRE_pw_thread_loop_destroy(hotplug_loop);
+        hotplug_loop = NULL;
     }
 }