[FFmpeg-cvslog] wtvdec: demux thumbnail picture to AVStream.attached_pic

Peter Ross git at videolan.org
Wed Jan 30 10:06:50 CET 2013


ffmpeg | branch: release/0.11 | Peter Ross <pross at xvid.org> | Sun Jan  6 14:15:24 2013 +1100| [155a0bed972248226b9044f2b72e3695459f1ff9] | committer: Carl Eugen Hoyos

wtvdec: demux thumbnail picture to AVStream.attached_pic

Fixes ticket #2133.

(cherry picked from commit 508836932fcbc3c109fcc4df7a2f2b0bf21bbece)

Conflicts:
	libavformat/wtvdec.c

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=155a0bed972248226b9044f2b72e3695459f1ff9
---

 libavformat/wtvdec.c |   12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/libavformat/wtvdec.c b/libavformat/wtvdec.c
index 9157042..45c930f 100644
--- a/libavformat/wtvdec.c
+++ b/libavformat/wtvdec.c
@@ -404,6 +404,7 @@ static void get_attachment(AVFormatContext *s, AVIOContext *pb, int length)
     char description[1024];
     unsigned int filesize;
     AVStream *st;
+    int ret;
     int64_t pos = avio_tell(pb);
 
     avio_get_str16le(pb, INT_MAX, mime, sizeof(mime));
@@ -420,13 +421,14 @@ static void get_attachment(AVFormatContext *s, AVIOContext *pb, int length)
     if (!st)
         goto done;
     av_dict_set(&st->metadata, "title", description, 0);
+    st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
     st->codec->codec_id   = CODEC_ID_MJPEG;
-    st->codec->codec_type = AVMEDIA_TYPE_ATTACHMENT;
-    st->codec->extradata  = av_mallocz(filesize);
-    if (!st->codec->extradata)
+    ret = av_get_packet(pb, &st->attached_pic, filesize);
+    if (ret < 0)
         goto done;
-    st->codec->extradata_size = filesize;
-    avio_read(pb, st->codec->extradata, filesize);
+    st->attached_pic.stream_index = st->index;
+    st->attached_pic.flags       |= AV_PKT_FLAG_KEY;
+    st->disposition              |= AV_DISPOSITION_ATTACHED_PIC;
 done:
     avio_seek(pb, pos + length, SEEK_SET);
 }



More information about the ffmpeg-cvslog mailing list