avformat/flac_picture: try to guess PNG by actual picture data

Fixes #5028.
This commit is contained in:
Paul B Mahol 2018-12-13 20:12:52 +01:00
parent 6f058b5cef
commit e9817636a7

View File

@ -20,6 +20,8 @@
*/ */
#include "libavutil/avassert.h" #include "libavutil/avassert.h"
#include "libavutil/intreadwrite.h"
#include "libavcodec/png.h"
#include "avformat.h" #include "avformat.h"
#include "flac_picture.h" #include "flac_picture.h"
#include "id3v2.h" #include "id3v2.h"
@ -119,6 +121,9 @@ int ff_flac_parse_picture(AVFormatContext *s, uint8_t *buf, int buf_size)
goto fail; goto fail;
} }
if (AV_RB64(data->data) == PNGSIG)
id = AV_CODEC_ID_PNG;
st = avformat_new_stream(s, NULL); st = avformat_new_stream(s, NULL);
if (!st) { if (!st) {
RETURN_ERROR(AVERROR(ENOMEM)); RETURN_ERROR(AVERROR(ENOMEM));