- auto display_func = [this, primary_stream_idx, snap_frame, secondary_frame, fade_alpha]{
- if (destination != nullptr) {
- destination->setFrame(primary_stream_idx, snap_frame, secondary_frame, fade_alpha);
- }
- };
- if (video_stream == nullptr) {
- display_func();
- } else {
- if (secondary_stream_idx == -1) {
- ++metric_original_snapped_frame;
- video_stream->schedule_original_frame(
- next_frame_start, pts, display_func,
- QueueSpotHolder(this), snap_frame);
- } else {
- assert(secondary_frame.pts != -1);
- ++metric_faded_snapped_frame;
- video_stream->schedule_faded_frame(
- next_frame_start, pts, display_func, QueueSpotHolder(this),
- snap_frame, secondary_frame, fade_alpha);
- }
- }
+ display_single_frame(primary_stream_idx, snap_frame, secondary_stream_idx,
+ secondary_frame, fade_alpha, next_frame_start, /*snapped=*/true);