aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-06-06 21:43:01 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2017-08-23 13:15:16 +0200
commitdf12a24235ab80906f98548a7d73a5526fd1a866 (patch)
tree6f0cbfcbc9a49f03a1a1dba91a72e63853f6e65a
parent95eaa6af1d182dfd3d84f4e34aac5bfb0c5e669c (diff)
downloadffmpeg-df12a24235ab80906f98548a7d73a5526fd1a866.tar.gz
avformat/mpegts: Do not trust BSSD descriptor, it is sometimes not an S302M stream
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit a5eb70ad9569c62158b4b2d18f2143db791f7d27) Conflicts: libavformat/mpegts.c
-rw-r--r--libavformat/mpegts.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index af5db08a45..c1ef22cc38 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -1722,8 +1722,11 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type
case 0x05: /* registration descriptor */
st->codec->codec_tag = bytestream_get_le32(pp);
av_dlog(fc, "reg_desc=%.4s\n", (char *)&st->codec->codec_tag);
- if (st->codec->codec_id == AV_CODEC_ID_NONE)
+ if (st->codec->codec_id == AV_CODEC_ID_NONE) {
mpegts_find_stream_type(st, st->codec->codec_tag, REGD_types);
+ if (st->codec->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);