On Sat, 31 Oct 2015 14:36:38 +0100
wm4 <[email protected]> wrote:
> I've got some m4a samples that had jpeg cover art marked as png. Since
> these files were supposedly written by iTunes, and other software can
> read it (e.g. clementine does), this should be worked around.
>
> Since png has a very simple to detect header, while it's apparently a
> real pain to detect jpeg in the general case, try to detect png and
> assume jpeg otherwise. Not bothering with bmp, as I have no test case.
> ---
> libavformat/mov.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/libavformat/mov.c b/libavformat/mov.c
> index 95dc1ee..9532213 100644
> --- a/libavformat/mov.c
> +++ b/libavformat/mov.c
> @@ -200,6 +200,14 @@ static int mov_read_covr(MOVContext *c, AVIOContext *pb,
> int type, int len)
> if (ret < 0)
> return ret;
>
> + if (pkt.size >= 8 && id != AV_CODEC_ID_BMP) {
> + if (AV_RB64(pkt.data) == 0x89504e470d0a1a0a) {
> + id = AV_CODEC_ID_PNG;
> + } else {
> + id = AV_CODEC_ID_MJPEG;
> + }
> + }
> +
> st->disposition |= AV_DISPOSITION_ATTACHED_PIC;
>
> st->attached_pic = pkt;
Ping.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel