summaryrefslogtreecommitdiff
path: root/src/lib/encoder.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-02-02 13:46:20 +0000
committerCarl Hetherington <cth@carlh.net>2013-02-02 13:46:20 +0000
commitaeb20874df252fd8d36f5d3742ed8e34f2215367 (patch)
treef00d1d8fdc41d8ec07e3c55fedba2e724a2b0188 /src/lib/encoder.cc
parent8e7d91ac8b945d66a65fc7b20249cd1c7796c7fa (diff)
First try at doing fake writes.
Diffstat (limited to 'src/lib/encoder.cc')
-rw-r--r--src/lib/encoder.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/encoder.cc b/src/lib/encoder.cc
index 978d787e8..b92be84a8 100644
--- a/src/lib/encoder.cc
+++ b/src/lib/encoder.cc
@@ -253,7 +253,10 @@ Encoder::process_video (shared_ptr<Image> image, bool same, boost::shared_ptr<Su
return;
}
- if (same && _have_a_real_frame) {
+ if (_writer->can_fake_write (_video_frames_out)) {
+ _writer->fake_write (_video_frames_out);
+ _have_a_real_frame = false;
+ } else if (same && _have_a_real_frame) {
/* Use the last frame that we encoded. */
_writer->repeat (_video_frames_out);
frame_done ();