- if (!_just_did_inaccurate_seek && earliest_time > _audio_position) {
- emit_silence (earliest_time - _audio_position);
- } else {
+
+ if (_just_did_inaccurate_seek) {
+ /* Just emit; no subtlety */
+ emit_audio (earliest_piece, da);
+ } else if (da->dcp_time - _audio_position > margin) {
+ /* Too far ahead */
+ emit_silence (da->dcp_time - _audio_position);
+ consume = false;
+ } else if (abs (da->dcp_time - _audio_position) < margin) {
+ /* We're ok */