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 | |
| parent | 7e7d64f95e2bf50f40cfb9cd3cf6a2ca784483eb (diff) | |
Hoepfully fix end trimming, and fix noise on end of audio when resampling.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/decoder.cc | 10 | ||||
| -rw-r--r-- | src/lib/j2k_wav_encoder.cc | 1 | ||||
| -rw-r--r-- | src/lib/transcode_job.cc | 1 |
3 files changed, 6 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); } } diff --git a/src/lib/j2k_wav_encoder.cc b/src/lib/j2k_wav_encoder.cc index f93fd9460..38078efb1 100644 --- a/src/lib/j2k_wav_encoder.cc +++ b/src/lib/j2k_wav_encoder.cc @@ -325,6 +325,7 @@ J2KWAVEncoder::process_end () break; } + out->set_frames (frames); write_audio (out); } diff --git a/src/lib/transcode_job.cc b/src/lib/transcode_job.cc index 31808c103..2690d8ed1 100644 --- a/src/lib/transcode_job.cc +++ b/src/lib/transcode_job.cc @@ -59,6 +59,7 @@ TranscodeJob::run () try { _film->log()->log ("Transcode job starting"); + _film->log()->log (String::compose ("Audio delay is %1ms", _film->audio_delay())); _encoder = encoder_factory (_film, _opt); Transcoder w (_film, _opt, this, _encoder); |
