diff options
| author | Carl Hetherington <cth@carlh.net> | 2012-11-04 22:46:01 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2012-11-04 22:46:01 +0000 |
| commit | fa1ac8629ae03c152ee85c0a82ed979557e4be00 (patch) | |
| tree | 717b6e5bf7ea706993920183a447cc2b4b7a43fb /src/lib/decoder.cc | |
| parent | 7e7d64f95e2bf50f40cfb9cd3cf6a2ca784483eb (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.cc | 10 |
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); } } |
