diff options
author | Max Kellermann <max@duempel.org> | 2014-09-07 22:05:33 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-09-07 22:05:33 +0200 |
commit | 219c42522f938c5fff08d962a1a54c0872322f00 (patch) | |
tree | 79bb802f688e0df73ff09204a923cfeb9a17c680 | |
parent | e3a0f158376a38abb2eb9aa4a67b155ff9da6ffe (diff) |
decoder/ffmpeg: pass MIME type to ffmpeg/libav version 11
That attribute was uninitialized before, which could crash
libavformat.
See Debian bug 760669
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/decoder/FfmpegDecoderPlugin.cxx | 7 |
2 files changed, 8 insertions, 0 deletions
@@ -3,6 +3,7 @@ ver 0.18.14 (not yet released) - fix range parser bug on certain 32 bit architectures * decoder - audiofile: fix crash after seeking + - ffmpeg: fix crash with ffmpeg/libav version 11 - fix assertion failure after seeking ver 0.18.13 (2014/08/31) diff --git a/src/decoder/FfmpegDecoderPlugin.cxx b/src/decoder/FfmpegDecoderPlugin.cxx index 5133f91ac..1409a3c47 100644 --- a/src/decoder/FfmpegDecoderPlugin.cxx +++ b/src/decoder/FfmpegDecoderPlugin.cxx @@ -387,6 +387,13 @@ ffmpeg_probe(Decoder *decoder, InputStream &is) avpd.buf_size = nbytes; avpd.filename = is.uri.c_str(); +#ifdef AVPROBE_SCORE_MIME + /* this attribute was added in libav/ffmpeg version 11, but + unfortunately it's "uint8_t" instead of "char", and it's + not "const" - wtf? */ + avpd.mime_type = (uint8_t *)const_cast<char *>(is.GetMimeType()); +#endif + return av_probe_input_format(&avpd, true); } |