- _pending.push_back (qi);
- }
-
- while (_queue.size() < _maximum_frames_in_memory && !_pending.empty()) {
- /* We have some space in memory. Fetch some frames back off disk. */
-
- _pending.sort ();
- QueueItem qi = _pending.front ();
-
- if (qi.type == QueueItem::FULL) {
- lock.unlock ();
- _film->log()->log (String::compose ("Writer pulls %1 back from disk", qi.frame));
- shared_ptr<const EncodedData> encoded;
- qi.encoded.reset (new EncodedData (_film->j2c_path (qi.frame, false)));
- lock.lock ();
- }