diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-12-18 09:39:36 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-12-18 09:39:36 +0000 |
| commit | 9c399a21b37d83ceb2c81706975e2c46d1a3f673 (patch) | |
| tree | 5b1123cd22cad797c9587c22927f9c9249ed4ca4 /src/lib/decoder.cc | |
| parent | da19eaac0dd80afed3dd282d61ea3298196a5090 (diff) | |
Considerable rework of decoder timing; tests pass, at least.
Diffstat (limited to 'src/lib/decoder.cc')
| -rw-r--r-- | src/lib/decoder.cc | 29 |
1 files changed, 29 insertions, 0 deletions
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<const Film> f) { } + +shared_ptr<Decoded> +Decoder::peek () +{ + while (_pending.empty () && !pass ()) {} + + if (_pending.empty ()) { + return shared_ptr<Decoded> (); + } + + return _pending.front (); +} + +shared_ptr<Decoded> +Decoder::get () +{ + shared_ptr<Decoded> d = peek (); + if (d) { + _pending.pop_front (); + } + + return d; +} + +void +Decoder::seek (ContentTime, bool) +{ + _pending.clear (); +} |
