summaryrefslogtreecommitdiff
path: root/src/lib/encoder.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-08-29 14:25:31 +0100
committerCarl Hetherington <cth@carlh.net>2013-08-29 14:25:31 +0100
commit9e124e8ce2eb7a9faeb91b33169ab1ae4912afb0 (patch)
treedce175e929d64c6562b60a43138d41dfdd3da6d1 /src/lib/encoder.h
parent86880ddcedaf39522a92a3a63d2a5df48fdf2284 (diff)
Better progress reporting during MXF hashing (#184).
Diffstat (limited to 'src/lib/encoder.h')
-rw-r--r--src/lib/encoder.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/lib/encoder.h b/src/lib/encoder.h
index 44134e568..e9b30df9e 100644
--- a/src/lib/encoder.h
+++ b/src/lib/encoder.h
@@ -77,6 +77,16 @@ public:
float current_encoding_rate () const;
int video_frames_out () const;
+ enum State {
+ TRANSCODING,
+ HASHING
+ };
+
+ State state () const {
+ boost::mutex::scoped_lock lm (_state_mutex);
+ return _state;
+ }
+
private:
void frame_done ();
@@ -88,8 +98,8 @@ private:
boost::shared_ptr<const Film> _film;
boost::shared_ptr<Job> _job;
- /** Mutex for _time_history and _last_frame */
- mutable boost::mutex _history_mutex;
+ /** Mutex for _time_history, _last_frame and _state */
+ mutable boost::mutex _state_mutex;
/** List of the times of completion of the last _history_size frames;
first is the most recently completed.
*/
@@ -99,6 +109,7 @@ private:
/** Number of video frames written for the DCP so far */
int _video_frames_out;
+ State _state;
bool _have_a_real_frame[EYES_COUNT];
bool _terminate;