mpegts: set st->disposition according to ISO 639 language descriptor
authorAnssi Hannula <anssi.hannula@iki.fi>
Mon, 14 Feb 2011 18:55:04 +0000 (18:55 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 15 Feb 2011 15:32:32 +0000 (16:32 +0100)
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 60e7306643054e93dfc1962f89b24554bb76e18a)

libavformat/mpegts.c

index e8d82ac..abb6f08 100644 (file)
@@ -954,6 +954,11 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type
         language[2] = get8(pp, desc_end);
         language[3] = 0;
         av_metadata_set2(&st->metadata, "language", language, 0);
+        switch (get8(pp, desc_end)) {
+            case 0x01: st->disposition |= AV_DISPOSITION_CLEAN_EFFECTS; break;
+            case 0x02: st->disposition |= AV_DISPOSITION_HEARING_IMPAIRED; break;
+            case 0x03: st->disposition |= AV_DISPOSITION_VISUAL_IMPAIRED; break;
+        }
         break;
     case 0x05: /* registration descriptor */
         st->codec->codec_tag = bytestream_get_le32(pp);