*/
#include "types.h"
+#include "player_subtitles.h"
+#include <boost/weak_ptr.hpp>
class Film;
class Encoder;
class Player;
class Writer;
class Job;
+class PlayerVideo;
+class AudioBuffers;
/** @class Transcoder */
class Transcoder : public boost::noncopyable
{
public:
- Transcoder (boost::shared_ptr<const Film>, boost::shared_ptr<Job>);
+ Transcoder (boost::shared_ptr<const Film>, boost::weak_ptr<Job>);
void go ();
float current_encoding_rate () const;
- int video_frames_out () const;
+ int video_frames_enqueued () const;
/** @return true if we are in the process of calling Encoder::process_end */
bool finishing () const {
}
private:
+
+ void video (boost::shared_ptr<PlayerVideo>, DCPTime);
+ void audio (boost::shared_ptr<AudioBuffers>, DCPTime);
+ void subtitle (PlayerSubtitles, DCPTimePeriod);
+
boost::shared_ptr<const Film> _film;
+ boost::weak_ptr<Job> _job;
boost::shared_ptr<Player> _player;
boost::shared_ptr<Writer> _writer;
boost::shared_ptr<Encoder> _encoder;
bool _finishing;
+ bool _non_burnt_subtitles;
};