diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2016-06-06 21:43:01 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2016-08-13 13:08:57 +0200 |
commit | b3fe93e73b18be9d8f9ac62b7e62407a47c834c3 (patch) | |
tree | e21468b78537e4b8bd5105e9b3b8bd6c2b48c897 | |
parent | 603fd4f771433bdddce2836dffca78c724d76dea (diff) | |
download | android_external_ffmpeg-b3fe93e73b18be9d8f9ac62b7e62407a47c834c3.tar.gz android_external_ffmpeg-b3fe93e73b18be9d8f9ac62b7e62407a47c834c3.tar.bz2 android_external_ffmpeg-b3fe93e73b18be9d8f9ac62b7e62407a47c834c3.zip |
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.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 87a21f0d56..7a2f9421fe 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -1769,8 +1769,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_log(fc, AV_LOG_TRACE, "reg_desc=%.4s\n", (char *)&st->codec->codec_tag); - if (st->codec->codec_id == AV_CODEC_ID_NONE || st->request_probe > 0) + if (st->codec->codec_id == AV_CODEC_ID_NONE || st->request_probe > 0) { 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); |