- double time_left_this_clip = double(clip.pts_out - in_pts) / TIMEBASE / clip.speed;
- if (!got_next_clip && next_clip_callback != nullptr && time_left_this_clip <= clip.fade_time_seconds) {
- // Find the next clip so that we can begin a fade.
- tie(next_clip, next_clip_idx) = next_clip_callback();
- if (next_clip.pts_in != -1) {
- got_next_clip = true;
-
- double duration_next_clip = double(next_clip.pts_out - next_clip.pts_in) / TIMEBASE / clip.speed;
- next_clip_fade_time = std::min(time_left_this_clip, duration_next_clip);
- in_pts_start_next_clip = next_clip.pts_in + lrint(next_clip_fade_time * TIMEBASE * clip.speed);
- }
- }