summaryrefslogtreecommitdiff
path: root/src/lib/encoder.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-06-14 15:07:58 +0100
committerCarl Hetherington <cth@carlh.net>2016-06-14 15:07:58 +0100
commit0b6f2d7b04819711228ed5fbc5d299b58cef997e (patch)
tree6acc37024cadbcc50755e8cc7c5075749893e231 /src/lib/encoder.h
parent2a72bebc04cc5d0b34c81840f10bd1387955a7a4 (diff)
Clean up of 3D->2D conversion.
It makes slightly more sense to discard 2D in the Transcoder rather than the Encoder. Unfortunately this requires quite invasive changes, mainly to remove Encoder::_position and instead derive this information from the PlayerVideo that is being handled. This is also nicer than before, I think. A notable change is that in player.cc; using time rather than content_video_to_dcp(). This means we are assuming that the decoder returns video at the time we ask it to, rather than checking what it has returned. I can't think of a problem with this (yet).
Diffstat (limited to 'src/lib/encoder.h')
-rw-r--r--src/lib/encoder.h13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/lib/encoder.h b/src/lib/encoder.h
index 6b830abba..b188e3be3 100644
--- a/src/lib/encoder.h
+++ b/src/lib/encoder.h
@@ -60,20 +60,17 @@ public:
/** Called to indicate that a processing run is about to begin */
void begin ();
- /** Called to pass in zero or more bits of video to be encoded
- * as the next DCP frame.
- */
- void encode (std::list<boost::shared_ptr<PlayerVideo> > f);
+ /** Called to pass a bit of video to be encoded as the next DCP frame */
+ void encode (boost::shared_ptr<PlayerVideo> f);
/** Called when a processing run has finished */
void end ();
float current_encoding_rate () const;
- int video_frames_out () const;
+ int video_frames_enqueued () const;
private:
- void enqueue (boost::shared_ptr<PlayerVideo> f);
void frame_done ();
void encoder_thread (boost::optional<EncodeServerDescription>);
@@ -83,7 +80,7 @@ private:
/** Film that we are encoding */
boost::shared_ptr<const Film> _film;
- /** Mutex for _time_history and _video_frames_enqueued */
+ /** Mutex for _time_history */
mutable boost::mutex _state_mutex;
/** List of the times of completion of the last _history_size frames;
first is the most recently completed.
@@ -91,8 +88,6 @@ private:
std::list<struct timeval> _time_history;
/** Number of frames that we should keep history for */
static int const _history_size;
- /** Current DCP frame index */
- Frame _position;
/** Mutex for _threads */
mutable boost::mutex _threads_mutex;