+ /* Will be set to false if we shouldn't consume the peeked DecodedThing */
+ bool consume = true;
+
+ /* This is the margin either side of _{video,audio}_position that we will accept
+ as a starting point for a frame consecutive to the previous.
+ */
+ DCPTime const margin = TIME_HZ / (2 * _film->video_frame_rate ());
+
+ if (dv && _video) {
+
+ if (_just_did_inaccurate_seek) {
+
+ /* Just emit; no subtlety */
+ emit_video (earliest_piece, dv);
+ step_video_position (dv);
+
+ } else if (dv->dcp_time - _video_position > margin) {
+
+ /* Too far ahead */