diff --git a/mythtv/external/FFmpeg/libavformat/utils.c b/mythtv/external/FFmpeg/libavformat/utils.c
index 733b46e..af0ee42 100644
--- a/mythtv/external/FFmpeg/libavformat/utils.c
+++ b/mythtv/external/FFmpeg/libavformat/utils.c
@@ -2359,9 +2359,11 @@ int av_find_stream_info(AVFormatContext *ic)
if (!has_codec_parameters(st->codec))
break;
/* variable fps and no guess at the real fps */
+#ifdef SUPER_SLOW
if( tb_unreliable(st->codec) && !(st->r_frame_rate.num && st->avg_frame_rate.num)
&& st->info->duration_count<20 && st->codec->codec_type == AVMEDIA_TYPE_VIDEO)
break;
+#endif
if(st->parser && st->parser->parser->split && !st->codec->extradata)
break;
if(st->first_dts == AV_NOPTS_VALUE && st->codec->codec_id != CODEC_ID_DSMCC_B)
@@ -2383,6 +2385,12 @@ int av_find_stream_info(AVFormatContext *ic)
av_log(ic, AV_LOG_DEBUG, "All info found\n");
break;
}
+ if (i == 1 && ic->streams[0]->codec->codec_id == CODEC_ID_DSMCC_B)
+ {
+ av_log(ic, AV_LOG_DEBUG, "All DSM info found\n");
+ ret = 0;
+ break;
+ }
}
/* we did not get all the codec info, but we read too much data */
if (read_size >= ic->probesize) {