Bläddra i källkod

audio-monitoring: Fix Pulse Audio crash

Clayton Groeneveld 5 år sedan
förälder
incheckning
6a7260783e
1 ändrade filer med 10 tillägg och 4 borttagningar
  1. 10 4
      libobs/audio-monitoring/pulse/pulseaudio-wrapper.c

+ 10 - 4
libobs/audio-monitoring/pulse/pulseaudio-wrapper.c

@@ -48,10 +48,16 @@ void get_default_id(char **id)
 		bzalloc(sizeof(struct pulseaudio_default_output));
 	pulseaudio_get_server_info(
 		(pa_server_info_cb_t)pulseaudio_default_devices, (void *)pdo);
-	*id = bzalloc(strlen(pdo->default_sink_name) + 9);
-	strcat(*id, pdo->default_sink_name);
-	strcat(*id, ".monitor");
-	bfree(pdo->default_sink_name);
+
+	if (!pdo->default_sink_name || !*pdo->default_sink_name) {
+		*id = NULL;
+	} else {
+		*id = bzalloc(strlen(pdo->default_sink_name) + 9);
+		strcat(*id, pdo->default_sink_name);
+		strcat(*id, ".monitor");
+		bfree(pdo->default_sink_name);
+	}
+
 	bfree(pdo);
 	pulseaudio_unref();
 }