From c3362d7b12e425fa9549579be10e708c88d5feea Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Fri, 3 Jan 2014 14:06:01 +0000 Subject: [PATCH] Fix _audio_position after seek. --- src/lib/audio_decoder.cc | 4 ++-- src/lib/player.cc | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/audio_decoder.cc b/src/lib/audio_decoder.cc index d85bfaee2..adabd5d99 100644 --- a/src/lib/audio_decoder.cc +++ b/src/lib/audio_decoder.cc @@ -54,7 +54,7 @@ AudioDecoder::audio (shared_ptr data) if (_resampler) { data = _resampler->run (data); } - + _pending.push_back (shared_ptr (new DecodedAudio (data, _audio_position))); _audio_position += data->frames (); } @@ -80,5 +80,5 @@ AudioDecoder::seek (ContentTime t, bool) assert (film); FrameRateChange frc = film->active_frame_rate_change (_audio_content->position ()); - _audio_position = (t + first_audio()) / frc.speed_up; + _audio_position = ((t + first_audio()) / frc.speed_up) * film->audio_frame_rate() / TIME_HZ; } diff --git a/src/lib/player.cc b/src/lib/player.cc index da7e7c147..eb7b177ec 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -121,7 +121,7 @@ Player::pass () dec->set_dcp_times (_film->video_frame_rate(), _film->audio_frame_rate(), (*i)->frc, offset); DCPTime const t = dec->dcp_time - offset; - if (t >= (*i)->content->full_length() - (*i)->content->trim_end ()) { + if (t >= ((*i)->content->full_length() - (*i)->content->trim_end ())) { /* In the end-trimmed part; decoder has nothing else to give us */ dec.reset (); done = true; -- 2.30.2