Subs successfully exported with thumbs.
[dcpomatic.git] / src / lib / dcp_video_frame.h
index 9acf50692990269ecd78c41f2b67a8f553e9bdf9..fe2e27966d2cc5f536f8904b45753b6123ce140f 100644 (file)
 
 class FilmState;
 class Options;
-class Server;
+class ServerDescription;
 class Scaler;
 class Image;
 class Log;
+class Subtitle;
 
 /** @class EncodedData
  *  @brief Container for J2K-encoded data.
@@ -48,15 +49,9 @@ public:
 
        virtual ~EncodedData () {}
 
-#ifdef DVDOMATIC_POSIX 
-       void send (int);
-#endif 
+       void send (boost::shared_ptr<Socket> socket);
        void write (boost::shared_ptr<const Options>, int);
 
-#ifdef DEBUG_HASH
-       void hash (std::string) const;
-#endif 
-
        /** @return data */
        uint8_t* data () const {
                return _data;
@@ -111,11 +106,11 @@ public:
 class DCPVideoFrame
 {
 public:
-       DCPVideoFrame (boost::shared_ptr<Image>, Size, int, Scaler const *, int, float, std::string, int, int, Log *);
+       DCPVideoFrame (boost::shared_ptr<Image>, boost::shared_ptr<Subtitle>, Size, int, Scaler const *, int, float, std::string, int, int, Log *);
        virtual ~DCPVideoFrame ();
 
        boost::shared_ptr<EncodedData> encode_locally ();
-       boost::shared_ptr<EncodedData> encode_remotely (Server const *);
+       boost::shared_ptr<EncodedData> encode_remotely (ServerDescription const *);
 
        int frame () const {
                return _frame;
@@ -126,6 +121,7 @@ private:
        void write_encoded (boost::shared_ptr<const Options>, uint8_t *, int);
 
        boost::shared_ptr<Image> _input; ///< the input image
+       boost::shared_ptr<Subtitle> _subtitle; ///< any subtitle that should be on the image
        Size _out_size;                  ///< the required size of the output, in pixels
        int _padding;
        Scaler const * _scaler;          ///< scaler to use