summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2008-01-31 22:30:55 +0000
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2008-01-31 22:30:55 +0000
commit2331e31c233b1b9ce6d626827342ffd70039c619 (patch)
tree5e3ced495736b19a7849f1ad43a508a1766598c1
parentb8fe8ab0620c50aa58da7e609484b85f666cc9a4 (diff)
Add support for ogg text subtitles.
Originally committed as revision 11698 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavformat/oggdec.c1
-rw-r--r--libavformat/oggdec.h1
-rw-r--r--libavformat/oggparseogm.c11
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,