From 9c399a21b37d83ceb2c81706975e2c46d1a3f673 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 18 Dec 2013 09:39:36 +0000 Subject: Considerable rework of decoder timing; tests pass, at least. --- src/lib/decoder.cc | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'src/lib/decoder.cc') diff --git a/src/lib/decoder.cc b/src/lib/decoder.cc index 3f4cda6eb..18c5acd35 100644 --- a/src/lib/decoder.cc +++ b/src/lib/decoder.cc @@ -36,3 +36,32 @@ Decoder::Decoder (shared_ptr f) { } + +shared_ptr +Decoder::peek () +{ + while (_pending.empty () && !pass ()) {} + + if (_pending.empty ()) { + return shared_ptr (); + } + + return _pending.front (); +} + +shared_ptr +Decoder::get () +{ + shared_ptr d = peek (); + if (d) { + _pending.pop_front (); + } + + return d; +} + +void +Decoder::seek (ContentTime, bool) +{ + _pending.clear (); +} -- cgit v1.2.3