Skip to content

Commit ee0fddc

Browse files
committed
when dtw timestamps are enabled, compute them before calling new_segment_callback
1 parent 0fbaac9 commit ee0fddc

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/whisper.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6198,7 +6198,7 @@ int whisper_full_with_state(
61986198
n_new = whisper_wrap_segment(*ctx, *state, params.max_len, params.split_on_word);
61996199
}
62006200
}
6201-
if (params.new_segment_callback) {
6201+
if (params.new_segment_callback && !ctx->params.dtw_token_timestamps) {
62026202
params.new_segment_callback(ctx, state, n_new, params.new_segment_callback_user_data);
62036203
}
62046204
}
@@ -6243,7 +6243,7 @@ int whisper_full_with_state(
62436243
n_new = whisper_wrap_segment(*ctx, *state, params.max_len, params.split_on_word);
62446244
}
62456245
}
6246-
if (params.new_segment_callback) {
6246+
if (params.new_segment_callback && !ctx->params.dtw_token_timestamps) {
62476247
params.new_segment_callback(ctx, state, n_new, params.new_segment_callback_user_data);
62486248
}
62496249
}
@@ -6257,6 +6257,11 @@ int whisper_full_with_state(
62576257
const int n_frames = std::min(std::min(WHISPER_CHUNK_SIZE * 100, seek_delta), seek_end - seek);
62586258
whisper_exp_compute_token_level_timestamps_dtw(
62596259
ctx, state, params, result_all.size() - n_segments, n_segments, seek, n_frames, 7, params.n_threads);
6260+
if (params.new_segment_callback) {
6261+
for (int seg = (int) result_all.size() - n_segments; seg < n_segments; seg++) {
6262+
params.new_segment_callback(ctx, state, seg, params.new_segment_callback_user_data);
6263+
}
6264+
}
62606265
}
62616266
}
62626267

0 commit comments

Comments
 (0)