wtvdec: set correct codec ID for CC streams.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Mon, 27 Aug 2012 20:08:56 +0000 (22:08 +0200)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Fri, 31 Aug 2012 17:58:09 +0000 (19:58 +0200)
Closed caption data is definitely not teletext.
Since it contains a EIA-608 compatibility stream,
the EIA_608 codec ID is at least not completely wrong.
Fixes subtitle playback in MPlayer with the sample in
trac ticket #1482.
To fix the ticket itself I expect FFmpeg will need
a closed-caption to SRT decoder first.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
libavformat/wtvdec.c

index 2999382..28de787 100644 (file)
@@ -695,7 +695,7 @@ static AVStream * parse_media_type(AVFormatContext *s, AVStream *st, int sid,
         if (ff_guidcmp(formattype, ff_format_none))
             av_log(s, AV_LOG_WARNING, "unknown formattype:"FF_PRI_GUID"\n", FF_ARG_GUID(formattype));
         avio_skip(pb, size);
-        st->codec->codec_id   = AV_CODEC_ID_DVB_TELETEXT;
+        st->codec->codec_id = !ff_guidcmp(subtype, mediasubtype_teletext) ? AV_CODEC_ID_DVB_TELETEXT : AV_CODEC_ID_EIA_608;
         return st;
     } else if (!ff_guidcmp(mediatype, mediatype_mpeg2_sections) &&
                !ff_guidcmp(subtype, mediasubtype_mpeg2_sections)) {