From 4aeaaaae011a2d6ed0085a27ed6cd7c4e6e446b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Wed, 21 Dec 2005 18:22:27 +0000 Subject: [PATCH] we now check if current pipe index is a valid one before trying to close it, seems CloseAudio doesn't check itself git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15646 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/drivers/audio/echo/echo.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/add-ons/kernel/drivers/audio/echo/echo.cpp b/src/add-ons/kernel/drivers/audio/echo/echo.cpp index 4e39cbc088..49c05f6642 100644 --- a/src/add-ons/kernel/drivers/audio/echo/echo.cpp +++ b/src/add-ons/kernel/drivers/audio/echo/echo.cpp @@ -166,12 +166,14 @@ echo_stream_set_audioparms(echo_stream *stream, uint8 channels, LOG(("echo_stream_set_audioparms\n")); - close_params.wPipeIndex = stream->pipe; - status = stream->card->pEG->CloseAudio(&close_params); - if(status!=ECHOSTATUS_OK && status!=ECHOSTATUS_CHANNEL_NOT_OPEN) { - PRINT(("echo_stream_set_audioparms : CloseAudio failed\n")); - PRINT((" status: %s \n", pStatusStrs[status])); - return B_ERROR; + if (stream->pipe >= 0) { + close_params.wPipeIndex = stream->pipe; + status = stream->card->pEG->CloseAudio(&close_params); + if(status!=ECHOSTATUS_OK && status!=ECHOSTATUS_CHANNEL_NOT_OPEN) { + PRINT(("echo_stream_set_audioparms : CloseAudio failed\n")); + PRINT((" status: %s \n", pStatusStrs[status])); + return B_ERROR; + } } open_params.bIsCyclic = TRUE;