summaryrefslogtreecommitdiff
path: root/src/lib
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
parent7e7d64f95e2bf50f40cfb9cd3cf6a2ca784483eb (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.cc10
-rw-r--r--src/lib/j2k_wav_encoder.cc1
-rw-r--r--src/lib/transcode_job.cc1
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);