More automated renaming.
[dcpomatic.git] / src / lib / decoder.h
index 26035d221080a5304cbccdde0bcf4490c78550bf..1b330316ecc7c5c8812720ba4c8f1835f12fda9c 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2016 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2018 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
@@ -32,7 +32,7 @@
 class Decoded;
 class VideoDecoder;
 class AudioDecoder;
-class SubtitleDecoder;
+class TextDecoder;
 class DecoderPart;
 
 /** @class Decoder.
@@ -45,11 +45,15 @@ public:
 
        boost::shared_ptr<VideoDecoder> video;
        boost::shared_ptr<AudioDecoder> audio;
-       boost::shared_ptr<SubtitleDecoder> subtitle;
+       std::list<boost::shared_ptr<TextDecoder> > caption;
 
-       /** @return true if there is no more data to come from this decoder */
+       boost::shared_ptr<TextDecoder> only_caption () const;
+
+       /** Do some decoding and perhaps emit video, audio or subtitle data.
+        *  @return true if this decoder will emit no more data unless a seek() happens.
+        */
        virtual bool pass () = 0;
-       virtual void seek (ContentTime time, bool accurate) = 0;
+       virtual void seek (ContentTime time, bool accurate);
 
        ContentTime position () const;
 };