fix: insert first AD cue at video start if no sentence break found
When the first AD cue (index 0) cannot find a sentence boundary within the ±10s search window, insert the AD at T=0:00 instead of using the potentially mid-sentence Gemini pause point. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
8806289eca
commit
407cc662e8
1 changed files with 15 additions and 2 deletions
|
|
@ -241,8 +241,21 @@ class WhisperService:
|
|||
refined["original_pause_point"] = original # Preserve for debugging
|
||||
|
||||
if warning:
|
||||
warnings.append(f"Cue {placement['ad_cue_index']}: {warning}")
|
||||
logger.warning(f"Pause point refinement warning for cue {placement['ad_cue_index']}: {warning}")
|
||||
# Special handling for first AD cue: if no sentence break found,
|
||||
# insert at the very beginning of the video to avoid mid-sentence insertion
|
||||
if placement["ad_cue_index"] == 0:
|
||||
refined["pause_point"] = 0.0
|
||||
warnings.append(
|
||||
f"Cue 0: No sentence break found within search window of {original:.2f}s, "
|
||||
"inserting AD at video start (0.0s)"
|
||||
)
|
||||
logger.info(
|
||||
f"First AD cue: No sentence break found near {original:.2f}s, "
|
||||
"using video start (0.0s) to avoid mid-sentence insertion"
|
||||
)
|
||||
else:
|
||||
warnings.append(f"Cue {placement['ad_cue_index']}: {warning}")
|
||||
logger.warning(f"Pause point refinement warning for cue {placement['ad_cue_index']}: {warning}")
|
||||
elif abs(snapped - original) > 0.1:
|
||||
logger.info(
|
||||
f"Refined pause point for cue {placement['ad_cue_index']}: "
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue