aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/mpegts.c
diff options
context:
space:
mode:
authorFrancesco Lavra <francescolavra@interfree.it>2009-10-29 10:46:16 +0000
committerCarl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at>2009-10-29 10:46:16 +0000
commite58992e41fbedb5d7ed5d4c4cf4c7c52cac81b91 (patch)
tree41c1f52aefe734c0532ed57ce2faa75bfbc41f60 /libavformat/mpegts.c
parentd886e4df10217b4c04a96872cefa375ebbbc143e (diff)
downloadffmpeg-e58992e41fbedb5d7ed5d4c4cf4c7c52cac81b91.tar.gz
Support demuxing teletext in DVB streams.
Original patch by Francesco Lavra, francescolavra interfree it Originally committed as revision 20414 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/mpegts.c')
-rw-r--r--libavformat/mpegts.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index 8a88801287..b11d0949e4 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -535,6 +535,7 @@ static const StreamType DESC_types[] = {
{ 0x6a, CODEC_TYPE_AUDIO, CODEC_ID_AC3 }, /* AC-3 descriptor */
{ 0x7a, CODEC_TYPE_AUDIO, CODEC_ID_EAC3 }, /* E-AC-3 descriptor */
{ 0x7b, CODEC_TYPE_AUDIO, CODEC_ID_DTS },
+ { 0x56, CODEC_TYPE_SUBTITLE, CODEC_ID_DVB_TELETEXT },
{ 0x59, CODEC_TYPE_SUBTITLE, CODEC_ID_DVB_SUBTITLE }, /* subtitling descriptor */
{ 0 },
};
@@ -729,6 +730,13 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
mpegts_find_stream_type(st, desc_tag, DESC_types);
switch(desc_tag) {
+ case 0x56: /* DVB teletext descriptor */
+ language[0] = get8(&p, desc_end);
+ language[1] = get8(&p, desc_end);
+ language[2] = get8(&p, desc_end);
+ language[3] = 0;
+ av_metadata_set(&st->metadata, "language", language);
+ break;
case 0x59: /* subtitling descriptor */
language[0] = get8(&p, desc_end);
language[1] = get8(&p, desc_end);