summaryrefslogtreecommitdiff
path: root/src/lib/decoder.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2012-11-04 22:46:01 +0000
committerCarl Hetherington <cth@carlh.net>2012-11-04 22:46:01 +0000
commitfa1ac8629ae03c152ee85c0a82ed979557e4be00 (patch)
tree717b6e5bf7ea706993920183a447cc2b4b7a43fb /src/lib/decoder.cc
parent7e7d64f95e2bf50f40cfb9cd3cf6a2ca784483eb (diff)
Hoepfully fix end trimming, and fix noise on end of audio when resampling.
Diffstat (limited to 'src/lib/decoder.cc')
-rw-r--r--src/lib/decoder.cc10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/lib/decoder.cc b/src/lib/decoder.cc
index 17e26905e..e25a106d2 100644
--- a/src/lib/decoder.cc
+++ b/src/lib/decoder.cc
@@ -245,16 +245,14 @@ Decoder::process_audio (uint8_t* data, int size)
_audio_frames_in + audio->frames()
);
- /* Trim start */
if (required_range.first >= this_range.first && required_range.first < this_range.second) {
+ /* Trim start */
int64_t const shift = this_range.first - required_range.first;
audio->move (shift, 0, audio->frames() - shift);
audio->set_frames (audio->frames() - shift);
- }
-
- /* Trim end */
- if (required_range.second >= this_range.first && required_range.second < this_range.second) {
- audio->set_frames (this_range.first - required_range.second);
+ } else if (required_range.second >= this_range.first && required_range.second < this_range.second) {
+ /* Trim end */
+ audio->set_frames (required_range.second - this_range.first);
}
}