From e58992e41fbedb5d7ed5d4c4cf4c7c52cac81b91 Mon Sep 17 00:00:00 2001 From: Francesco Lavra Date: Thu, 29 Oct 2009 10:46:16 +0000 Subject: [PATCH] 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 --- libavcodec/avcodec.h | 1 + libavformat/mpegts.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 9e8a636233..c258a339d5 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -331,6 +331,7 @@ enum CodecID { CODEC_ID_SSA, CODEC_ID_MOV_TEXT, CODEC_ID_HDMV_PGS_SUBTITLE, + CODEC_ID_DVB_TELETEXT, /* other specific kind of codecs (generally used for attachments) */ CODEC_ID_TTF= 0x18000, 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);