From d02f1b0f08b3095816767ab7a70254aef50eb355 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 31 Jul 2013 18:58:24 +0100 Subject: [PATCH] Various fixes to audio play wrt trimming and push/pull merger API. --- src/lib/player.cc | 37 ++++++++++++++++--------------------- src/lib/sndfile_content.cc | 2 +- test/ffmpeg_audio_test.cc | 1 + test/test.cc | 6 ++++-- test/wscript | 2 +- 5 files changed, 23 insertions(+), 25 deletions(-) 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