diff --git a/backend/app/services/video_renderer.py b/backend/app/services/video_renderer.py index 6a8832a..557badd 100644 --- a/backend/app/services/video_renderer.py +++ b/backend/app/services/video_renderer.py @@ -511,10 +511,11 @@ class VideoRendererService: logger.info(f"Starting pause-insert render for {source_video_path}") placements = analysis.get("placements", []) - # Sort placements by pause_point time + # Sort placements by pause_point time, with ad_cue_index as secondary key + # to ensure consolidated cues (sharing same pause_point) maintain VTT order sorted_placements = sorted( [p for p in placements if p.get("pause_point") is not None], - key=lambda p: p["pause_point"] + key=lambda p: (p["pause_point"], p.get("ad_cue_index", 0)) ) # Debug logging for pause points (midpoint algorithm with silence buffers)