From d02f1b0f08b3095816767ab7a70254aef50eb355 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 31 Jul 2013 18:58:24 +0100 Subject: Various fixes to audio play wrt trimming and push/pull merger API. --- src/lib/player.cc | 37 ++++++++++++++++--------------------- src/lib/sndfile_content.cc | 2 +- 2 files changed, 17 insertions(+), 22 deletions(-) (limited to 'src') diff --git a/src/lib/player.cc b/src/lib/player.cc index 63cf4ee7f..8583a429b 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -177,7 +177,7 @@ Player::pass () emit_black (); } else { #ifdef DEBUG_PLAYER - cout << "Pass " << *earliest << "\n"; + cout << "Pass video " << *earliest << "\n"; #endif earliest->decoder->pass (); } @@ -186,12 +186,12 @@ Player::pass () case AUDIO: if (earliest_t > _audio_position) { #ifdef DEBUG_PLAYER - cout << "no audio here; emitting silence.\n"; + cout << "no audio here (none until " << earliest_t << "); emitting silence.\n"; #endif emit_silence (_film->time_to_audio_frames (earliest_t - _audio_position)); } else { #ifdef DEBUG_PLAYER - cout << "Pass " << *earliest << "\n"; + cout << "Pass audio " << *earliest << "\n"; #endif earliest->decoder->pass (); @@ -206,27 +206,23 @@ Player::pass () } } } - - } - - Time done_up_to = TIME_MAX; - for (list >::iterator i = _pieces.begin(); i != _pieces.end(); ++i) { - if (dynamic_pointer_cast ((*i)->content)) { - done_up_to = min (done_up_to, (*i)->audio_position); - } - } - - TimedAudioBuffers