comparison avidec.c @ 1761:e9bff647e326 libavformat

supporting files with A,V,I,0x19 header
author michael
date Wed, 07 Feb 2007 17:56:31 +0000
parents c04b60df411a
children 2376ab11ea73
comparison
equal deleted inserted replaced
1760:8cba5672faa4 1761:e9bff647e326
80 if (tag != MKTAG('R', 'I', 'F', 'F')) 80 if (tag != MKTAG('R', 'I', 'F', 'F'))
81 return -1; 81 return -1;
82 avi->riff_end = get_le32(pb); /* RIFF chunk size */ 82 avi->riff_end = get_le32(pb); /* RIFF chunk size */
83 avi->riff_end += url_ftell(pb); /* RIFF chunk end */ 83 avi->riff_end += url_ftell(pb); /* RIFF chunk end */
84 tag = get_le32(pb); 84 tag = get_le32(pb);
85 if(tag == MKTAG('A', 'V', 'I', 0x19))
86 av_log(NULL, AV_LOG_INFO, "file has been generated with a totally broken muxer\n");
87 else
85 if (tag != MKTAG('A', 'V', 'I', ' ') && tag != MKTAG('A', 'V', 'I', 'X')) 88 if (tag != MKTAG('A', 'V', 'I', ' ') && tag != MKTAG('A', 'V', 'I', 'X'))
86 return -1; 89 return -1;
87 90
88 return 0; 91 return 0;
89 } 92 }
994 if (p->buf_size <= 32) 997 if (p->buf_size <= 32)
995 return 0; 998 return 0;
996 if (p->buf[0] == 'R' && p->buf[1] == 'I' && 999 if (p->buf[0] == 'R' && p->buf[1] == 'I' &&
997 p->buf[2] == 'F' && p->buf[3] == 'F' && 1000 p->buf[2] == 'F' && p->buf[3] == 'F' &&
998 p->buf[8] == 'A' && p->buf[9] == 'V' && 1001 p->buf[8] == 'A' && p->buf[9] == 'V' &&
999 p->buf[10] == 'I' && p->buf[11] == ' ') 1002 p->buf[10] == 'I' && (p->buf[11] == ' ' || p->buf[11] == 0x19))
1000 return AVPROBE_SCORE_MAX; 1003 return AVPROBE_SCORE_MAX;
1001 else 1004 else
1002 return 0; 1005 return 0;
1003 } 1006 }
1004 1007