1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-10-06 05:47:18 +02:00

avfilter/af_whisper: fix int64 printf format

Use PRId64 for printing int64_t values in the SRT output.
This commit is contained in:
Vittorio Palmisano
2025-09-21 15:19:51 +02:00
committed by michaelni
parent 7c78a63476
commit f18b1e2389

View File

@@ -150,7 +150,7 @@ static int init(AVFilterContext *ctx)
}
av_log(ctx, AV_LOG_INFO,
"Whisper filter initialized: model: %s lang: %s queue: %ld ms\n",
"Whisper filter initialized: model: %s lang: %s queue: %" PRId64 " ms\n",
wctx->model_path, wctx->language, wctx->queue / 1000);
return 0;
@@ -194,7 +194,7 @@ static void run_transcription(AVFilterContext *ctx, AVFrame *frame, int samples)
const float duration = (float) samples / WHISPER_SAMPLE_RATE;
av_log(ctx, AV_LOG_INFO,
"run transcription at %ld ms, %d/%d samples (%.2f seconds)...\n",
"run transcription at %" PRId64 " ms, %d/%d samples (%.2f seconds)...\n",
timestamp_ms, samples, wctx->audio_buffer_fill_size, duration);
struct whisper_full_params params = whisper_full_default_params(WHISPER_SAMPLING_GREEDY);
@@ -228,7 +228,7 @@ static void run_transcription(AVFilterContext *ctx, AVFrame *frame, int samples)
const int64_t t0_ms = whisper_full_get_segment_t0(wctx->ctx_wsp, i) * 10;
const int64_t t1_ms = whisper_full_get_segment_t1(wctx->ctx_wsp, i) * 10;
av_log(ctx, AV_LOG_DEBUG, " [%ld-%ld%s]: \"%s\"\n",
av_log(ctx, AV_LOG_DEBUG, " [%" PRId64 "-%" PRId64 "%s]: \"%s\"\n",
timestamp_ms + t0_ms, timestamp_ms + t1_ms, turn ? " (turn)" : "", text_cleaned);
if (segments_text) {
@@ -246,13 +246,13 @@ static void run_transcription(AVFilterContext *ctx, AVFrame *frame, int samples)
if (!av_strcasecmp(wctx->format, "srt")) {
buf =
av_asprintf
("%d\n%02ld:%02ld:%02ld,%03ld --> %02ld:%02ld:%02ld,%03ld\n%s\n\n",
("%d\n%02" PRId64 ":%02" PRId64 ":%02" PRId64 ",%03" PRId64 " --> %02" PRId64 ":%02" PRId64 ":%02" PRId64 ",%03" PRId64 "\n%s\n\n",
wctx->index, start_t / 3600000,
(start_t / 60000) % 60, (start_t / 1000) % 60,
start_t % 1000, end_t / 3600000, (end_t / 60000) % 60,
(end_t / 1000) % 60, end_t % 1000, text_cleaned);
} else if (!av_strcasecmp(wctx->format, "json")) {
buf = av_asprintf("{\"start\":%ld,\"end\":%ld,\"text\":\"%s\"}\n", start_t, end_t, text_cleaned);
buf = av_asprintf("{\"start\":%" PRId64 ",\"end\":%" PRId64 ",\"text\":\"%s\"}\n", start_t, end_t, text_cleaned);
} else
buf = av_strdup(text_cleaned);