summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmpcodecs/ad_acm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libmpcodecs/ad_acm.c b/libmpcodecs/ad_acm.c
index 4ad0abf595..bd94d5366a 100644
--- a/libmpcodecs/ad_acm.c
+++ b/libmpcodecs/ad_acm.c
@@ -137,6 +137,7 @@ static void uninit(sh_audio_t *sh)
HRESULT ret;
acm_context_t *priv = sh->context;
+retry:
ret = acmStreamClose(priv->handle, 0);
if (ret)
@@ -146,8 +147,7 @@ static void uninit(sh_audio_t *sh)
case ACMERR_CANCELED:
mp_msg(MSGT_WIN32, MSGL_DBG2, "ACM_Decoder: stream busy, waiting..\n");
usec_sleep(100000000);
- uninit(sh);
- return;
+ goto retry;
case ACMERR_UNPREPARED:
case ACMERR_NOTPOSSIBLE:
return;