Commit a1ce9999 authored by Max Kellermann's avatar Max Kellermann

check for decoder error before state!=START

When dc->error!=NOERROR, we do not need to check state!=START. Simplify the checks by moving the error check to the top.
parent c6035ea3
......@@ -217,8 +217,14 @@ static void decodeParent(void)
}
if (decodeWaitedOn) {
if(dc.state!=DECODE_STATE_START &&
dc.error==DECODE_ERROR_NOERROR) {
if (dc.error != DECODE_ERROR_NOERROR) {
/* the decoder failed */
assert(dc.next_song == NULL || dc.next_song->url != NULL);
pc.errored_song = dc.next_song;
pc.error = PLAYER_ERROR_FILE;
break;
}
else if (dc.state != DECODE_STATE_START) {
/* the decoder is ready and ok */
decodeWaitedOn = 0;
if(openAudioDevice(&(ob.audioFormat))<0) {
......@@ -242,13 +248,6 @@ static void decodeParent(void)
pc.channels = dc.audioFormat.channels;
sizeToTime = audioFormatSizeToTime(&ob.audioFormat);
}
else if(dc.state!=DECODE_STATE_START) {
/* the decoder failed */
assert(dc.next_song == NULL || dc.next_song->url != NULL);
pc.errored_song = dc.next_song;
pc.error = PLAYER_ERROR_FILE;
break;
}
else {
/* the decoder is not yet ready; wait
some more */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment