From f7ff7bc6484d4e45a50e38119826f99318fd5bfb Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 19 Nov 2004 18:16:36 +0000 Subject: skip unknown streams instead of failing Originally committed as revision 3693 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/rm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'libavformat/rm.c') diff --git a/libavformat/rm.c b/libavformat/rm.c index 4e0ca2845e..0b280e9e9d 100644 --- a/libavformat/rm.c +++ b/libavformat/rm.c @@ -627,6 +627,7 @@ static int rm_read_header(AVFormatContext *s, AVFormatParameters *ap) get_str8(pb, buf, sizeof(buf)); /* mimetype */ codec_data_size = get_be32(pb); codec_pos = url_ftell(pb); + st->codec.codec_type = CODEC_TYPE_DATA; v = get_be32(pb); if (v == MKTAG(0xfd, 'a', 'r', '.')) { @@ -636,9 +637,10 @@ static int rm_read_header(AVFormatContext *s, AVFormatParameters *ap) if (get_le32(pb) != MKTAG('V', 'I', 'D', 'O')) { fail1: av_log(&st->codec, AV_LOG_ERROR, "Unsupported video codec\n"); - goto fail; + goto skip; } st->codec.codec_tag = get_le32(pb); +// av_log(NULL, AV_LOG_DEBUG, "%X %X\n", st->codec.codec_tag, MKTAG('R', 'V', '2', '0')); if ( st->codec.codec_tag != MKTAG('R', 'V', '1', '0') && st->codec.codec_tag != MKTAG('R', 'V', '2', '0')) goto fail1; @@ -659,6 +661,7 @@ static int rm_read_header(AVFormatContext *s, AVFormatParameters *ap) else st->codec.codec_id = CODEC_ID_RV20; } +skip: /* skip codec info */ size = url_ftell(pb) - codec_pos; url_fskip(pb, codec_data_size - size); -- cgit v1.2.3