浏览代码

add missing lock

Wei Mingzhi 7 年之前
父节点
当前提交
170f8f8d64
共有 1 个文件被更改,包括 5 次插入0 次删除
  1. 5 0
      aviplay.c

+ 5 - 0
aviplay.c

@@ -725,6 +725,9 @@ AVI_FillAudioBuffer(
     if (gpAVIPlayState != NULL)
     {
         FLOAT flRateScale = ((FLOAT)gConfig.iSampleRate / gpAVIPlayState->dwAudioSamplesPerSec);
+
+        SDL_mutexP(gpAVIPlayState->mtxAudioData);
+
         while (len > 0 && gpAVIPlayState->dwAudioReadPos != gpAVIPlayState->dwAudioWritePos)
         {
             INT remainingLen = gpAVIPlayState->dwAudioWritePos - gpAVIPlayState->dwAudioReadPos;
@@ -758,6 +761,8 @@ AVI_FillAudioBuffer(
 
             gpAVIPlayState->dwAudioReadPos %= sizeof(gpAVIPlayState->bAudioBuf);
         }
+
+        SDL_mutexV(gpAVIPlayState->mtxAudioData);
     }
     SDL_mutexV(gpAVIPlayStateMutex);
 }