mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-29 22:00:58 +02:00
add callback for av_log
Originally committed as revision 13866 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
82e0be62ef
commit
bcd3ce5903
29
ffserver.c
29
ffserver.c
@ -318,12 +318,9 @@ static char *ctime1(char *buf2)
|
|||||||
return buf2;
|
return buf2;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __attribute__ ((format (printf, 1, 2))) http_log(const char *fmt, ...)
|
static void http_vlog(const char *fmt, va_list vargs)
|
||||||
{
|
{
|
||||||
static int print_prefix = 1;
|
static int print_prefix = 1;
|
||||||
va_list ap;
|
|
||||||
va_start(ap, fmt);
|
|
||||||
|
|
||||||
if (logfile) {
|
if (logfile) {
|
||||||
if (print_prefix) {
|
if (print_prefix) {
|
||||||
char buf[32];
|
char buf[32];
|
||||||
@ -331,10 +328,29 @@ static void __attribute__ ((format (printf, 1, 2))) http_log(const char *fmt, ..
|
|||||||
fprintf(logfile, "%s ", buf);
|
fprintf(logfile, "%s ", buf);
|
||||||
}
|
}
|
||||||
print_prefix = strstr(fmt, "\n") != NULL;
|
print_prefix = strstr(fmt, "\n") != NULL;
|
||||||
vfprintf(logfile, fmt, ap);
|
vfprintf(logfile, fmt, vargs);
|
||||||
fflush(logfile);
|
fflush(logfile);
|
||||||
}
|
}
|
||||||
va_end(ap);
|
}
|
||||||
|
|
||||||
|
void __attribute__ ((format (printf, 1, 2))) http_log(const char *fmt, ...)
|
||||||
|
{
|
||||||
|
va_list vargs;
|
||||||
|
va_start(vargs, fmt);
|
||||||
|
http_vlog(fmt, vargs);
|
||||||
|
va_end(vargs);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void http_av_log(void *ptr, int level, const char *fmt, va_list vargs)
|
||||||
|
{
|
||||||
|
static int print_prefix = 1;
|
||||||
|
AVClass *avc = ptr ? *(AVClass**)ptr : NULL;
|
||||||
|
if (level > av_log_level)
|
||||||
|
return;
|
||||||
|
if (print_prefix && avc)
|
||||||
|
http_log("[%s @ %p]", avc->item_name(ptr), avc);
|
||||||
|
print_prefix = strstr(fmt, "\n") != NULL;
|
||||||
|
http_vlog(fmt, vargs);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void log_connection(HTTPContext *c)
|
static void log_connection(HTTPContext *c)
|
||||||
@ -4518,6 +4534,7 @@ int main(int argc, char **argv)
|
|||||||
logfile = stdout;
|
logfile = stdout;
|
||||||
else
|
else
|
||||||
logfile = fopen(logfilename, "a");
|
logfile = fopen(logfilename, "a");
|
||||||
|
av_log_set_callback(http_av_log);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (http_server() < 0) {
|
if (http_server() < 0) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user