Control: forwarded -1 libav-d...@lists.libav.org
Hi Mathieu,
I would appreciate if in future you could provide a bit more details
when reassigning bugs. The quote below was all that I had to start
working on this issue, which is terse.
My understanding of this we are talking about a curious feature in the
MKV container: apparently, you can attach cover art into the
container. Libavformat allows applications to access embedded images
by providing an extra stream.
Please someone correct me, but my understanding of
http://git.videolan.org/?p=ffmpeg.git;a=commit;h=511585c is that
libavformat implements this inconsistently for different containers. I
wonder how did this happen, is there some deeper reason for this
inconsistency? Minidlna seems to have stumbled over this inconsistency
and seems to work fine with that patch that was discussed with FFmpeg,
but not with Libav. This is a bit disappointing, maybe you could
forward such clearly upstream bugs yourself to avoid having the
package maintainers as extra round-trip? Thanks.
I do not use minidlna myself, so I cannot verify this issue myself.
However, I've tried to apply the patch that was submitted against
FFmpeg, which I have attached to this email. I've also compared the
output of avprobe on the suggested test sample
https://sourceforge.net/projects/matroska/files/test_files/cover_art.mkv
with and without the patch. It seems promising to me, but again, I
have no means to verify this issue, so please someone else take over
of testing it and getting the patch ready for submission in Libav.
Thanks,
Reinahrd
On Sat, Apr 4, 2015 at 11:09 AM, Mathieu Malaterre ma...@debian.org wrote:
reassign 781812 libav 6:11.3-1
thanks
This has been fixed in ffmpeg:
https://trac.ffmpeg.org/ticket/4423#comment:8
Since minidlna currently uses libav, I am leaving this bug open.
___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers
--
regards,
Reinhard
From 6338c434c62d748c95c958ab9b5eae26033f38c3 Mon Sep 17 00:00:00 2001
From: wm4 nfx...@googlemail.com
Date: Fri, 3 Apr 2015 16:11:53 +0200
Subject: [PATCH] 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 michae...@gmx.at
Conflicts:
libavformat/matroskadec.c
---
libavformat/matroska.c| 9 +++--
libavformat/matroska.h| 1 +
libavformat/matroskadec.c | 48 ++-
libavformat/matroskaenc.c | 5 +
4 files changed, 48 insertions(+), 15 deletions(-)
diff --git a/libavformat/matroska.c b/libavformat/matroska.c
index 47fdea6..eca1e41 100644
--- a/libavformat/matroska.c
+++ b/libavformat/matroska.c
@@ -89,12 +89,17 @@ const CodecTags ff_mkv_codec_tags[]={
{ , AV_CODEC_ID_NONE}
};
-const CodecMime ff_mkv_mime_tags[] = {
-{text/plain , AV_CODEC_ID_TEXT},
+const CodecMime ff_mkv_image_mime_tags[] = {
{image/gif , AV_CODEC_ID_GIF},
{image/jpeg , AV_CODEC_ID_MJPEG},
{image/png , AV_CODEC_ID_PNG},
{image/tiff , AV_CODEC_ID_TIFF},
+
+{ , AV_CODEC_ID_NONE}
+};
+
+const CodecMime ff_mkv_mime_tags[] = {
+{text/plain , AV_CODEC_ID_TEXT},
{application/x-truetype-font, AV_CODEC_ID_TTF},
{application/x-font , AV_CODEC_ID_TTF},
diff --git a/libavformat/matroska.h b/libavformat/matroska.h
index d8f4f8e..a7a22a9 100644
--- a/libavformat/matroska.h
+++ b/libavformat/matroska.h
@@ -254,6 +254,7 @@ typedef struct CodecTags{
extern const CodecTags ff_mkv_codec_tags[];
extern const CodecMime ff_mkv_mime_tags[];
+extern const CodecMime ff_mkv_image_mime_tags[];
extern const AVMetadataConv ff_mkv_metadata_conv[];
int ff_mkv_stereo3d_conv(AVStream *st, MatroskaVideoStereoModeType stereo_mode);
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index d352c8b..2f4f075 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -1887,22 +1887,44 @@ static int matroska_read_header(AVFormatContext *s)