tell the user if compressed swf found

Originally committed as revision 4419 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Alex Beregszaszi 2005-07-02 21:59:33 +00:00
parent 41a33f51d2
commit e227d197e4
1 changed files with 10 additions and 2 deletions

View File

@ -713,6 +713,7 @@ static int get_swf_tag(ByteIOContext *pb, int *len_ptr)
if (len == 0x3f) {
len = get_le32(pb);
}
// av_log(NULL, AV_LOG_DEBUG, "Tag: %d - Len: %d\n", tag, len);
*len_ptr = len;
return tag;
}
@ -723,7 +724,7 @@ static int swf_probe(AVProbeData *p)
/* check file header */
if (p->buf_size <= 16)
return 0;
if (p->buf[0] == 'F' && p->buf[1] == 'W' &&
if ((p->buf[0] == 'F' || p->buf[0] == 'C') && p->buf[1] == 'W' &&
p->buf[2] == 'S')
return AVPROBE_SCORE_MAX;
else
@ -744,7 +745,14 @@ static int swf_read_header(AVFormatContext *s, AVFormatParameters *ap)
return -1;
s->priv_data = swf;
if ((get_be32(pb) & 0xffffff00) != MKBETAG('F', 'W', 'S', 0))
tag = get_be32(pb) & 0xffffff00;
if (tag == MKBETAG('C', 'W', 'S', 0))
{
av_log(s, AV_LOG_ERROR, "Compressed SWF format not supported\n");
return AVERROR_IO;
}
if (tag != MKBETAG('F', 'W', 'S', 0))
return AVERROR_IO;
get_le32(pb);
/* skip rectangle size */