Mercurial > libavformat.hg
changeset 2994:35b3eaafd9fe libavformat
Add support for ogg text subtitles.
author | reimar |
---|---|
date | Thu, 31 Jan 2008 22:30:55 +0000 |
parents | 147a3d574e95 |
children | c222d17b55c7 |
files | oggdec.c oggdec.h oggparseogm.c |
diffstat | 3 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/oggdec.c Thu Jan 31 13:40:53 2008 +0000 +++ b/oggdec.c Thu Jan 31 22:30:55 2008 +0000 @@ -44,6 +44,7 @@ &old_flac_codec, &ogm_video_codec, &ogm_audio_codec, + &ogm_text_codec, &ogm_old_codec, NULL };
--- a/oggdec.h Thu Jan 31 13:40:53 2008 +0000 +++ b/oggdec.h Thu Jan 31 22:30:55 2008 +0000 @@ -81,6 +81,7 @@ extern ogg_codec_t old_flac_codec; extern ogg_codec_t ogm_video_codec; extern ogg_codec_t ogm_audio_codec; +extern ogg_codec_t ogm_text_codec; extern ogg_codec_t ogm_old_codec; extern int vorbis_comment(AVFormatContext *ms, uint8_t *buf, int size);
--- a/oggparseogm.c Thu Jan 31 13:40:53 2008 +0000 +++ b/oggparseogm.c Thu Jan 31 22:30:55 2008 +0000 @@ -55,6 +55,10 @@ tag = bytestream_get_le32(&p); st->codec->codec_id = codec_get_id(codec_bmp_tags, tag); st->codec->codec_tag = tag; + } else if (*p == 't') { + st->codec->codec_type = CODEC_TYPE_SUBTITLE; + st->codec->codec_id = CODEC_ID_TEXT; + p += 12; } else { uint8_t acid[5]; int cid; @@ -158,6 +162,13 @@ .packet = ogm_packet }; +ogg_codec_t ogm_text_codec = { + .magic = "\001text", + .magicsize = 5, + .header = ogm_header, + .packet = ogm_packet +}; + ogg_codec_t ogm_old_codec = { .magic = "\001Direct Show Samples embedded in Ogg", .magicsize = 35,