296{
297 if (level > av_log_get_level())
298 return;
299 thread_local int print_prefix = 1;
300 char line[1024];
301 av_log_format_line2(avcl, level, fmt, vl, line, (int) sizeof(line), &print_prefix);
302 size_t len = std::strlen(line);
303 while (len > 0 && (line[len - 1] == '\n' || line[len - 1] == '\r' || line[len - 1] == ' '))
304 line[--len] = '\0';
305 if (len == 0)
306 return;
307 if (level <= AV_LOG_ERROR)
308 BOOST_LOG_TRIVIAL(error) << "ffmpeg: " << line;
309 else if (level <= AV_LOG_WARNING)
310 BOOST_LOG_TRIVIAL(warning) << "ffmpeg: " << line;
311 else if (level <= AV_LOG_INFO)
312 BOOST_LOG_TRIVIAL(info) << "ffmpeg: " << line;
313 else
314 BOOST_LOG_TRIVIAL(debug) << "ffmpeg: " << line;
315}