diff options
Diffstat (limited to 'src/lib/encoder.h')
| -rw-r--r-- | src/lib/encoder.h | 14 |
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 |
