diff options
-rw-r--r-- | libmpcodecs/ad_acm.c | 4 |
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; |