From 0cfc29d9ebd698f8c0f9ff015489ab3ed6979df7 Mon Sep 17 00:00:00 2001 From: evgeny Date: Sun, 18 Oct 2026 19:48:34 +0200 Subject: [PATCH] Restore FFmpeg diagnostics after Qt multimedia initializes its logger --- src/video/video.c | 9 ++++++--- src/video/video.h | 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/video/video.c b/src/video/video.c index 4e42d510..d226b39c 100644 --- a/src/video/video.c +++ b/src/video/video.c @@ -108,12 +108,15 @@ static void video_av_log_cb(void* avcl, int level, const char* fmt, va_list vl) } static void ffmpeg_init_once(void) { - av_log_set_callback(video_av_log_cb); - av_log_set_level(AV_LOG_DEBUG); avformat_network_init(); } -void video_ffmpeg_init(void) { pthread_once(&g_ffmpeg_once, ffmpeg_init_once); } +void video_ffmpeg_init(void) { + pthread_once(&g_ffmpeg_once, ffmpeg_init_once); + /* Qt Multimedia заменяет глобальный callback при загрузке backend; возвращаем общий лог перед работой с codec. */ + av_log_set_callback(video_av_log_cb); + av_log_set_level(AV_LOG_DEBUG); +} /* строковое описание кода ошибки ffmpeg (используется только в worker-потоке) */ static const char* vc_errstr(int err) { diff --git a/src/video/video.h b/src/video/video.h index c3c8241c..ffcab504 100644 --- a/src/video/video.h +++ b/src/video/video.h @@ -10,8 +10,8 @@ extern "C" { struct UASYNC; -/* Один раз подключает FFmpeg к общему логу; trace категории debug включает внутренние сообщения AMF. - * Можно вызывать из любого потока. В сборке без FFmpeg ничего не делает. */ +/* Инициализирует FFmpeg и подключает общий лог; повторный вызов восстанавливает callback после загрузки Qt backend. + * trace категории debug включает AMF и заголовки HEVC. В сборке без FFmpeg ничего не делает. */ void video_ffmpeg_init(void); /* ── целевой профиль: H.264 в MP4, не более 720p / 2 Mbit ── */