summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qemu/audio/vd_interface_audio.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/qemu/audio/vd_interface_audio.c b/qemu/audio/vd_interface_audio.c
index b8135de3..1de84489 100644
--- a/qemu/audio/vd_interface_audio.c
+++ b/qemu/audio/vd_interface_audio.c
@@ -397,6 +397,7 @@ static int line_out_run(HWVoiceOut *hw)
len = audio_MIN(len, driver.play_avail);
hw->clip(driver.play_now, hw->mix_buf + rpos, len);
if (!(driver.play_avail -= len)) {
+ ASSERT(driver.play_plug);
driver.play_plug->put_frame(driver.play_plug,
driver.play_frame);
driver.play_frame = driver.play_now = NULL;
@@ -436,7 +437,10 @@ static int line_out_ctl(HWVoiceOut *hw, int cmd, ...)
driver.play_now = driver.play_frame = NULL;
driver.play_plug->put_frame(driver.play_plug, frame);
}
- driver.play_plug->stop(driver.play_plug);
+
+ if (driver.play_plug) {
+ driver.play_plug->stop(driver.play_plug);
+ }
}
break;
}