From 64dc289b343641fc37db51fcd6b3069078cb5edf Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 24 Dec 2013 02:52:35 +0000 Subject: Some fixes to playback of drop-frame content. --- src/lib/decoder.cc | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'src/lib/decoder.cc') diff --git a/src/lib/decoder.cc b/src/lib/decoder.cc index 18c5acd35..7f4973737 100644 --- a/src/lib/decoder.cc +++ b/src/lib/decoder.cc @@ -23,6 +23,7 @@ #include "film.h" #include "decoder.h" +#include "decoded.h" #include "i18n.h" @@ -37,10 +38,19 @@ Decoder::Decoder (shared_ptr f) } +class DecodedSorter +{ +public: + bool operator() (shared_ptr a, shared_ptr b) + { + return a->dcp_time < b->dcp_time; + } +}; + shared_ptr Decoder::peek () { - while (_pending.empty () && !pass ()) {} + while (_pending.empty() && !pass ()) {} if (_pending.empty ()) { return shared_ptr (); @@ -49,15 +59,12 @@ Decoder::peek () return _pending.front (); } -shared_ptr -Decoder::get () +void +Decoder::consume () { - shared_ptr d = peek (); - if (d) { + if (!_pending.empty ()) { _pending.pop_front (); } - - return d; } void -- cgit v1.2.3