Restore FFmpeg diagnostics after Qt multimedia initializes its logger

This commit is contained in:
evgeny committed 2026-10-18 19:48:34 +02:00
1 parent d1ba26f8ac
commit 0cfc29d9eb
2 files changed
+8 -5

No files matched your search

+6 -3
View File
@@ -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) { static void ffmpeg_init_once(void) {
av_log_set_callback(video_av_log_cb);
av_log_set_level(AV_LOG_DEBUG);
avformat_network_init(); 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-потоке) */ /* строковое описание кода ошибки ffmpeg (используется только в worker-потоке) */
static const char* vc_errstr(int err) { static const char* vc_errstr(int err) {
+2 -2
View File
@@ -10,8 +10,8 @@ extern "C" {
struct UASYNC; struct UASYNC;
/* Один раз подключает FFmpeg к общему логу; trace категории debug включает внутренние сообщения AMF. /* Инициализирует FFmpeg и подключает общий лог; повторный вызов восстанавливает callback после загрузки Qt backend.
* Можно вызывать из любого потока. В сборке без FFmpeg ничего не делает. */ * trace категории debug включает AMF и заголовки HEVC. В сборке без FFmpeg ничего не делает. */
void video_ffmpeg_init(void); void video_ffmpeg_init(void);
/* ── целевой профиль: H.264 в MP4, не более 720p / 2 Mbit ── */ /* ── целевой профиль: H.264 в MP4, не более 720p / 2 Mbit ── */