diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index e8d82ac21c5b29893f388899acdf6b22b5eaa0d7..abb6f080f432d8039506f21d608d17853e2e0442 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -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);