matroskadec: export cover art correctly
authorwm4 <nfxjfg@googlemail.com>
Fri, 3 Apr 2015 14:11:53 +0000 (16:11 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 4 Apr 2015 00:25:56 +0000 (02:25 +0200)
commit511585ce7f7272e5069ef011d6be5f073d268901
tree1d625358a59df9a7b70877bdd8395a448003ee36
parentf62880bfb8c72ccbfdce4dd9daf93af691060ddd
matroskadec: export cover art correctly

Generally, libavformat exports cover art pictures as video streams with
1 packet and AV_DISPOSITION_ATTACHED_PIC set. Only matroskadec exported
it as attachment with codec_id set to AV_CODEC_ID_MJPEG.

Obviously, this should be consistent, so change the Matroska demuxer to
export a AV_DISPOSITION_ATTACHED_PIC pseudo video stream.

Matroska muxing is probably incorrect too. I know that it can create
broken files with an audio track and just 1 video frame when e.g.
remuxing mp3 with APIC to mkv. But for now this commit does not change
anything about muxing, and also continues to write attachments with
AV_CODEC_ID_MJPEG should the muxer application have special knowledge
that the Matroska is broken in this way.

Fixes trac #4423.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/matroska.c
libavformat/matroska.h
libavformat/matroskadec.c
libavformat/matroskaenc.c