summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--av_log.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/av_log.c b/av_log.c
index 376144800a..d4684218ed 100644
--- a/av_log.c
+++ b/av_log.c
@@ -54,6 +54,12 @@ static int extract_msg_type_from_ctx(void *ptr)
return MSGT_FIXME;
AVClass *avc = *(AVClass **)ptr;
+ if (!avc) {
+ mp_msg(MSGT_FIXME, MSGL_WARN,
+ "av_log callback called with bad parameters (NULL AVClass).\n"
+ "This is a bug in one of Libav/FFmpeg libraries used.\n");
+ return MSGT_FIXME;
+ }
#ifdef CONFIG_FFMPEG
if (!strcmp(avc->class_name, "AVCodecContext")) {
@@ -71,9 +77,7 @@ static int extract_msg_type_from_ctx(void *ptr)
}
return MSGT_FIXME;
}
-#endif
-#ifdef CONFIG_FFMPEG
if (!strcmp(avc->class_name, "AVFormatContext")) {
AVFormatContext *s = ptr;
if (s->iformat)