2
0
Эх сурвалжийг харах

Fix possible error when switching audio devices with PulseAudio

Marcelo Fernandez 6 жил өмнө
parent
commit
b33464d1ae

+ 4 - 1
drivers/pulseaudio/audio_driver_pulseaudio.cpp

@@ -374,7 +374,7 @@ void AudioDriverPulseAudio::thread_func(void *p_udata) {
 				const void *ptr = ad->samples_out.ptr();
 				const void *ptr = ad->samples_out.ptr();
 				ret = pa_stream_write(ad->pa_str, (char *)ptr + write_ofs, bytes_to_write, NULL, 0LL, PA_SEEK_RELATIVE);
 				ret = pa_stream_write(ad->pa_str, (char *)ptr + write_ofs, bytes_to_write, NULL, 0LL, PA_SEEK_RELATIVE);
 				if (ret != 0) {
 				if (ret != 0) {
-					ERR_PRINT("pa_stream_write error");
+					ERR_PRINTS("PulseAudio: pa_stream_write error: " + String(pa_strerror(ret)));
 				} else {
 				} else {
 					avail_bytes -= bytes_to_write;
 					avail_bytes -= bytes_to_write;
 					write_ofs += bytes_to_write;
 					write_ofs += bytes_to_write;
@@ -401,6 +401,9 @@ void AudioDriverPulseAudio::thread_func(void *p_udata) {
 					break;
 					break;
 				}
 				}
 			}
 			}
+
+			avail_bytes = 0;
+			write_ofs = 0;
 		}
 		}
 
 
 		if (ad->pa_rec_str && pa_stream_get_state(ad->pa_rec_str) == PA_STREAM_READY) {
 		if (ad->pa_rec_str && pa_stream_get_state(ad->pa_rec_str) == PA_STREAM_READY) {