From a5eb70ad9569c62158b4b2d18f2143db791f7d27 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Mon, 6 Jun 2016 21:43:01 +0200 Subject: avformat/mpegts: Do not trust BSSD descriptor, it is sometimes not an S302M stream Signed-off-by: Michael Niedermayer --- libavformat/mpegts.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'libavformat/mpegts.c') diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 203d79b2a8..d38b8af1b7 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -1804,8 +1804,11 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type case 0x05: /* registration descriptor */ st->codecpar->codec_tag = bytestream_get_le32(pp); av_log(fc, AV_LOG_TRACE, "reg_desc=%.4s\n", (char *)&st->codecpar->codec_tag); - if (st->codecpar->codec_id == AV_CODEC_ID_NONE || st->request_probe > 0) + if (st->codecpar->codec_id == AV_CODEC_ID_NONE || st->request_probe > 0) { mpegts_find_stream_type(st, st->codecpar->codec_tag, REGD_types); + if (st->codecpar->codec_tag == MKTAG('B', 'S', 'S', 'D')) + st->request_probe = 50; + } break; case 0x52: /* stream identifier descriptor */ st->stream_identifier = 1 + get8(pp, desc_end); -- cgit v1.2.3