avformat/img2dec: fix unable to find svg format when the svg resources start with "<svg" or "<!--"
svg is xml, but <?xml is not required, it can start with <svg and can have multiple empty lines, or start with <!-- include some comments, but must first line if start with <?xml. Signed-off-by: Wang Yaqiang <wangyaqiang03@kuaishou.com> Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
		
							parent
							
								
									1a4560ce4e
								
							
						
					
					
						commit
						81bc7bc52e
					
				@ -964,8 +964,13 @@ static int svg_probe(const AVProbeData *p)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    const uint8_t *b = p->buf;
 | 
					    const uint8_t *b = p->buf;
 | 
				
			||||||
    const uint8_t *end = p->buf + p->buf_size;
 | 
					    const uint8_t *end = p->buf + p->buf_size;
 | 
				
			||||||
 | 
					    while (b < end && av_isspace(*b))
 | 
				
			||||||
    if (memcmp(p->buf, "<?xml", 5))
 | 
					        b++;
 | 
				
			||||||
 | 
					    if (b >= end - 5)
 | 
				
			||||||
 | 
					        return 0;
 | 
				
			||||||
 | 
					    if (!memcmp(b, "<svg", 4))
 | 
				
			||||||
 | 
					        return AVPROBE_SCORE_EXTENSION + 1;
 | 
				
			||||||
 | 
					    if (memcmp(p->buf, "<?xml", 5) && memcmp(b, "<!--", 4))
 | 
				
			||||||
        return 0;
 | 
					        return 0;
 | 
				
			||||||
    while (b < end) {
 | 
					    while (b < end) {
 | 
				
			||||||
        int inc = ff_subtitles_next_line(b);
 | 
					        int inc = ff_subtitles_next_line(b);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user