summaryrefslogtreecommitdiff
path: root/src/lib/encoder.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/encoder.h')
-rw-r--r--src/lib/encoder.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/lib/encoder.h b/src/lib/encoder.h
index bed2c0988..539b2912c 100644
--- a/src/lib/encoder.h
+++ b/src/lib/encoder.h
@@ -68,9 +68,12 @@ public:
virtual void process_end () = 0;
float current_frames_per_second () const;
+ bool skipping () const;
+ int last_frame () const;
protected:
- void frame_done ();
+ void frame_done (int n);
+ void frame_skipped ();
/** FilmState of the film that we are encoding */
boost::shared_ptr<const FilmState> _fs;
@@ -79,9 +82,18 @@ protected:
/** Log */
Log* _log;
+ /** Mutex for _time_history, _just_skipped and _last_frame */
mutable boost::mutex _history_mutex;
+ /** List of the times of completion of the last _history_size frames;
+ first is the most recently completed.
+ */
std::list<struct timeval> _time_history;
+ /** Number of frames that we should keep history for */
static int const _history_size;
+ /** true if the last frame we processed was skipped (because it was already done) */
+ bool _just_skipped;
+ /** Index of the last frame to be processed */
+ int _last_frame;
};
#endif