DecoderInternal: wake up the player thread in _flush_chunk()

Merge duplicate code.
This commit is contained in:
Max Kellermann 2013-11-06 23:12:04 +01:00
parent 5c18e4f114
commit 8e7d6eb151
2 changed files with 2 additions and 4 deletions

View File

@ -312,7 +312,6 @@ do_send_tag(Decoder &decoder, const Tag &tag)
/* there is a partial chunk - flush it, we want the
tag in a new chunk */
decoder_flush_chunk(decoder);
decoder.dc.client_cond.signal();
}
assert(decoder.chunk == nullptr);
@ -422,7 +421,6 @@ decoder_data(Decoder &decoder,
if (dest.IsNull()) {
/* the chunk is full, flush it */
decoder_flush_chunk(decoder);
dc.client_cond.signal();
continue;
}
@ -442,7 +440,6 @@ decoder_data(Decoder &decoder,
if (full) {
/* the chunk is full, flush it */
decoder_flush_chunk(decoder);
dc.client_cond.signal();
}
data = (const uint8_t *)data + nbytes;
@ -535,7 +532,6 @@ decoder_replay_gain(Decoder &decoder,
replay gain values affect the following
samples */
decoder_flush_chunk(decoder);
decoder.dc.client_cond.signal();
}
} else
decoder.replay_gain_serial = 0;

View File

@ -100,4 +100,6 @@ decoder_flush_chunk(Decoder &decoder)
dc.pipe->Push(decoder.chunk);
decoder.chunk = nullptr;
dc.client_cond.signal();
}