diff options
Diffstat (limited to 'src/core/Streaming.cpp')
-rw-r--r-- | src/core/Streaming.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/core/Streaming.cpp b/src/core/Streaming.cpp index d15415ea..227a4a9f 100644 --- a/src/core/Streaming.cpp +++ b/src/core/Streaming.cpp @@ -1719,8 +1719,10 @@ CStreaming::RetryLoadFile(int32 ch) } switch(ms_channel[ch].state){ + case CHANNELSTATE_ERROR: + ms_channel[ch].numTries++; + if (CdStreamGetStatus(ch) == STREAM_READING || CdStreamGetStatus(ch) == STREAM_WAITING) break; case CHANNELSTATE_IDLE: -streamread: CdStreamRead(ch, ms_pStreamingBuffer[ch], ms_channel[ch].position, ms_channel[ch].size); ms_channel[ch].state = CHANNELSTATE_READING; ms_channel[ch].field24 = -600; @@ -1731,11 +1733,6 @@ streamread: CTimer::SetCodePause(false); } break; - case CHANNELSTATE_ERROR: - ms_channel[ch].numTries++; - if(CdStreamGetStatus(ch) != STREAM_READING && CdStreamGetStatus(ch) != STREAM_WAITING) - goto streamread; - break; } } |