Commit b111a8fe authored by cathugger's avatar cathugger Committed by Max Kellermann

output/Thread: ensure pending tags are flushed in all cases

Fixes hanging playback with soxr resampler. Closes #139, #141
parent 3b23cf02
......@@ -5,6 +5,8 @@ ver 0.20.12 (not yet released)
- vorbis: fix Tremor support
* player
- log message when decoder is too slow
* output
- fix hanging playback with soxr resampler
ver 0.20.11 (2017/10/18)
* storage
......
......@@ -271,16 +271,15 @@ try {
inline bool
AudioOutput::PlayChunk()
{
if (tags) {
const auto *tag = source.ReadTag();
if (tag != nullptr) {
const ScopeUnlock unlock(mutex);
try {
ao_plugin_send_tag(this, *tag);
} catch (const std::runtime_error &e) {
FormatError(e, "Failed to send tag to \"%s\" [%s]",
name, plugin.name);
}
// ensure pending tags are flushed in all cases
const auto *tag = source.ReadTag();
if (tags && tag != nullptr) {
const ScopeUnlock unlock(mutex);
try {
ao_plugin_send_tag(this, *tag);
} catch (const std::runtime_error &e) {
FormatError(e, "Failed to send tag to \"%s\" [%s]",
name, plugin.name);
}
}
......
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