Mercurial > libavformat.hg
changeset 2969:f3a3115a96e4 libavformat
Set correct codec type and id for text subtitles.
fixes http://samples.mplayerhq.hu/mov/subtitles-embedded/subtitlemovie.mov
closes issue341
author | michael |
---|---|
date | Sat, 26 Jan 2008 20:30:03 +0000 |
parents | bd458b341e40 |
children | ed7e36770ee5 |
files | isom.c isom.h mov.c |
diffstat | 3 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/isom.c Sat Jan 26 20:07:57 2008 +0000 +++ b/isom.c Sat Jan 26 20:30:03 2008 +0000 @@ -167,6 +167,11 @@ { CODEC_ID_NONE, 0 }, }; +const AVCodecTag ff_codec_movsubtitle_tags[] = { + { CODEC_ID_TEXT, MKTAG('t', 'e', 'x', 't') }, + { CODEC_ID_NONE, 0 }, +}; + /* map numeric codes from mdhd atom to ISO 639 */ /* cf. QTFileFormat.pdf p253, qtff.pdf p205 */ /* http://developer.apple.com/documentation/mac/Text/Text-368.html */
--- a/isom.h Sat Jan 26 20:07:57 2008 +0000 +++ b/isom.h Sat Jan 26 20:30:03 2008 +0000 @@ -30,6 +30,7 @@ extern const AVCodecTag ff_mp4_obj_type[]; extern const AVCodecTag codec_movvideo_tags[]; extern const AVCodecTag codec_movaudio_tags[]; +extern const AVCodecTag ff_codec_movsubtitle_tags[]; int ff_mov_iso639_to_lang(const char *lang, int mp4); int ff_mov_lang_to_iso639(int code, char *to);
--- a/mov.c Sat Jan 26 20:07:57 2008 +0000 +++ b/mov.c Sat Jan 26 20:30:03 2008 +0000 @@ -624,6 +624,11 @@ id = codec_get_id(codec_bmp_tags, format); if (id > 0) st->codec->codec_type = CODEC_TYPE_VIDEO; + else if(st->codec->codec_type == CODEC_TYPE_DATA){ + id = codec_get_id(ff_codec_movsubtitle_tags, format); + if(id > 0) + st->codec->codec_type = CODEC_TYPE_SUBTITLE; + } } dprintf(c->fc, "size=%d 4CC= %c%c%c%c codec_type=%d\n", size,