summaryrefslogtreecommitdiff
path: root/src/lib/transcoder.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2012-11-18 21:03:32 +0000
committerCarl Hetherington <cth@carlh.net>2012-11-18 21:03:32 +0000
commit454478fa52d97a5590a05ae0222d582a3ec2f1dc (patch)
treee8ba6a21f53fd2b455dbd0a634524fdd31b49994 /src/lib/transcoder.cc
parentcafa76a2b52449ce3c9eecfd0ea53b7318814951 (diff)
Call processor process_end methods as required. Remove questionable padding of audio length up to the nearest second. Don't emit audio in big blocks as it seems to crash FFmpeg. Fix a few things.
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 ();
}