Merge master.
[dcpomatic.git] / src / lib / writer.cc
index 580dfe4f21d19e0bfb452a37d32e413ad247d6b5..33817ca6eb8b6479b6eedec4539bae54c2faed91 100644 (file)
@@ -139,6 +139,7 @@ Writer::write (shared_ptr<const EncodedData> encoded, int frame, Eyes eyes)
        boost::mutex::scoped_lock lock (_mutex);
 
        while (_queued_full_in_memory > _maximum_frames_in_memory) {
+               /* The queue is too big; wait until that is sorted out */
                _full_condition.wait (lock);
        }
 
@@ -160,7 +161,8 @@ Writer::write (shared_ptr<const EncodedData> encoded, int frame, Eyes eyes)
                _queue.push_back (qi);
                ++_queued_full_in_memory;
        }
-       
+
+       /* Now there's something to do: wake anything wait()ing on _empty_condition */
        _empty_condition.notify_all ();
 }
 
@@ -170,6 +172,7 @@ Writer::fake_write (int frame, Eyes eyes)
        boost::mutex::scoped_lock lock (_mutex);
 
        while (_queued_full_in_memory > _maximum_frames_in_memory) {
+               /* The queue is too big; wait until that is sorted out */
                _full_condition.wait (lock);
        }
        
@@ -191,6 +194,7 @@ Writer::fake_write (int frame, Eyes eyes)
                _queue.push_back (qi);
        }
 
+       /* Now there's something to do: wake anything wait()ing on _empty_condition */
        _empty_condition.notify_all ();
 }
 
@@ -244,9 +248,11 @@ try
                while (1) {
                        
                        if (_finish || _queued_full_in_memory > _maximum_frames_in_memory || have_sequenced_image_at_queue_head ()) {
+                               /* We've got something to do: go and do it */
                                break;
                        }
 
+                       /* Nothing to do: wait until something happens which may indicate that we do */
                        LOG_TIMING (N_("writer sleeps with a queue of %1"), _queue.size());
                        _empty_condition.wait (lock);
                        LOG_TIMING (N_("writer wakes with a queue of %1"), _queue.size());
@@ -336,6 +342,7 @@ try
                        --_queued_full_in_memory;
                }
 
+               /* The queue has probably just gone down a bit; notify anything wait()ing on _full_condition */
                _full_condition.notify_all ();
        }
 }