Mostly-merge master.
[dcpomatic.git] / src / lib / decoder.cc
index 30244b40b5eae2591bbde3301e4ddb5e3f033f20..0901f73b020027cc733ab325c2085f494db65d45 100644 (file)
@@ -21,7 +21,6 @@
  *  @brief Parent class for decoders of content.
  */
 
-#include "film.h"
 #include "decoder.h"
 #include "decoded.h"
 
 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 ()
 {
@@ -51,6 +56,7 @@ Decoder::peek ()
                return shared_ptr<Decoded> ();
        }
 
+       _pending.sort (DecodedSorter ());
        return _pending.front ();
 }