summaryrefslogtreecommitdiff
path: root/src/lib/transcoder.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/transcoder.cc')
-rw-r--r--src/lib/transcoder.cc14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/lib/transcoder.cc b/src/lib/transcoder.cc
index cad76af6e..537b9b664 100644
--- a/src/lib/transcoder.cc
+++ b/src/lib/transcoder.cc
@@ -109,12 +109,18 @@ Transcoder::go ()
}
} catch (...) {
- /* process_end() is important as the decoder may have worker
- threads that need to be cleaned up.
- */
_encoder->process_end ();
throw;
}
-
+
+ if (_delay_line) {
+ _delay_line->process_end ();
+ }
+ if (_matcher) {
+ _matcher->process_end ();
+ }
+ if (_gain) {
+ _gain->process_end ();
+ }
_encoder->process_end ();
}