projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Mostly-merge master.
[dcpomatic.git]
/
src
/
lib
/
decoder.cc
diff --git
a/src/lib/decoder.cc
b/src/lib/decoder.cc
index 4e136d619e075b3d49f52e147365ded667cd3d15..0901f73b020027cc733ab325c2085f494db65d45 100644
(file)
--- a/
src/lib/decoder.cc
+++ b/
src/lib/decoder.cc
@@
-21,7
+21,6
@@
* @brief Parent class for decoders of content.
*/
* @brief Parent class for decoders of content.
*/
-#include "film.h"
#include "decoder.h"
#include "decoded.h"
#include "decoder.h"
#include "decoded.h"
@@
-30,16
+29,22
@@
using std::cout;
using boost::shared_ptr;
using std::cout;
using boost::shared_ptr;
-/** @param f Film.
- * @param o Decode options.
+/** @param o Decode options.
*/
*/
-Decoder::Decoder (shared_ptr<const Film> f)
- : _film (f)
- , _done (false)
+Decoder::Decoder ()
+ : _done (false)
{
}
{
}
+struct DecodedSorter
+{
+ bool operator() (shared_ptr<Decoded> a, shared_ptr<Decoded> b)
+ {
+ return a->dcp_time < b->dcp_time;
+ }
+};
+
shared_ptr<Decoded>
Decoder::peek ()
{
shared_ptr<Decoded>
Decoder::peek ()
{
@@
-47,10
+52,11
@@
Decoder::peek ()
_done = pass ();
}
_done = pass ();
}
- if (_done) {
+ if (_done
&& _pending.empty ()
) {
return shared_ptr<Decoded> ();
}
return shared_ptr<Decoded> ();
}
+ _pending.sort (DecodedSorter ());
return _pending.front ();
}
return _pending.front ();
}