aboutsummaryrefslogtreecommitdiffstats
path: root/src/DecoderThread.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/DecoderThread.cxx')
-rw-r--r--src/DecoderThread.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/DecoderThread.cxx b/src/DecoderThread.cxx
index 4d0bc13b5..2df131d19 100644
--- a/src/DecoderThread.cxx
+++ b/src/DecoderThread.cxx
@@ -360,7 +360,12 @@ decoder_run_song(DecoderControl &dc,
dc.Lock();
- if (ret)
+ if (decoder.error.IsDefined()) {
+ /* copy the Error from sruct Decoder to
+ DecoderControl */
+ dc.state = DecoderState::ERROR;
+ dc.error = std::move(decoder.error);
+ } else if (ret)
dc.state = DecoderState::STOP;
else {
dc.state = DecoderState::ERROR;