}
+struct DecodedSorter
+{
+ bool operator() (shared_ptr<Decoded> a, shared_ptr<Decoded> b)
+ {
+ return a->dcp_time < b->dcp_time;
+ }
+};
+
shared_ptr<Decoded>
Decoder::peek ()
{
_done = pass ();
}
- if (_done) {
+ if (_done && _pending.empty ()) {
return shared_ptr<Decoded> ();
}
+ _pending.sort (DecodedSorter ());
return _pending.front ();
}