From 0987c41ac468fd93bbb444093e66d5d6753cb927 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 28 Dec 2013 00:12:32 +0000 Subject: Fix termination of decodes. --- src/lib/decoder.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/lib/decoder.cc') diff --git a/src/lib/decoder.cc b/src/lib/decoder.cc index 7102f2aa4..4e136d619 100644 --- a/src/lib/decoder.cc +++ b/src/lib/decoder.cc @@ -27,6 +27,7 @@ #include "i18n.h" +using std::cout; using boost::shared_ptr; /** @param f Film. @@ -34,6 +35,7 @@ using boost::shared_ptr; */ Decoder::Decoder (shared_ptr f) : _film (f) + , _done (false) { } @@ -41,9 +43,11 @@ Decoder::Decoder (shared_ptr f) shared_ptr Decoder::peek () { - while (_pending.empty() && !pass ()) {} + while (!_done && _pending.empty ()) { + _done = pass (); + } - if (_pending.empty ()) { + if (_done) { return shared_ptr (); } @@ -62,4 +66,5 @@ void Decoder::seek (ContentTime, bool) { _pending.clear (); + _done = false; } -- cgit v1.2.3