break;
case MKTAG('s', 't', 'r', 'f'):
/* stream header */
- if (!size)
+ if (!size && (codec_type == AVMEDIA_TYPE_AUDIO ||
+ codec_type == AVMEDIA_TYPE_VIDEO))
break;
if (stream_index >= (unsigned)s->nb_streams || avi->dv_demux) {
avio_skip(pb, size);
if (!sub_demuxer)
goto error;
+ if (strcmp(sub_demuxer->name, "srt") && strcmp(sub_demuxer->name, "ass"))
+ goto error;
+
if (!(ast->sub_ctx = avformat_alloc_context()))
goto error;