diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2008-02-01 01:30:55 +0300 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2008-02-01 01:30:55 +0300 |
commit | 2331e31c233b1b9ce6d626827342ffd70039c619 (patch) | |
tree | 5e3ced495736b19a7849f1ad43a508a1766598c1 | |
parent | b8fe8ab0620c50aa58da7e609484b85f666cc9a4 (diff) |
Add support for ogg text subtitles.
Originally committed as revision 11698 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavformat/oggdec.c | 1 | ||||
-rw-r--r-- | libavformat/oggdec.h | 1 | ||||
-rw-r--r-- | libavformat/oggparseogm.c | 11 |
3 files changed, 13 insertions, 0 deletions
diff --git a/libavformat/oggdec.c b/libavformat/oggdec.c index 8e901379e5..5b67291c63 100644 --- a/libavformat/oggdec.c +++ b/libavformat/oggdec.c @@ -44,6 +44,7 @@ static ogg_codec_t *ogg_codecs[] = { &old_flac_codec, &ogm_video_codec, &ogm_audio_codec, + &ogm_text_codec, &ogm_old_codec, NULL }; diff --git a/libavformat/oggdec.h b/libavformat/oggdec.h index 964c044f65..66af84cf18 100644 --- a/libavformat/oggdec.h +++ b/libavformat/oggdec.h @@ -81,6 +81,7 @@ extern ogg_codec_t flac_codec; 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); diff --git a/libavformat/oggparseogm.c b/libavformat/oggparseogm.c index bbf9cb8c8d..597a3c6ac0 100644 --- a/libavformat/oggparseogm.c +++ b/libavformat/oggparseogm.c @@ -55,6 +55,10 @@ ogm_header(AVFormatContext *s, int idx) 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 @@ ogg_codec_t ogm_audio_codec = { .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, |