You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	Autodetect idcin only if audio properties allow decoding.
Fixes ticket #2688.
This commit is contained in:
		| @@ -93,7 +93,7 @@ typedef struct IdcinDemuxContext { | ||||
|  | ||||
| static int idcin_probe(AVProbeData *p) | ||||
| { | ||||
|     unsigned int number; | ||||
|     unsigned int number, sample_rate; | ||||
|  | ||||
|     /* | ||||
|      * This is what you could call a "probabilistic" file check: id CIN | ||||
| @@ -122,18 +122,18 @@ static int idcin_probe(AVProbeData *p) | ||||
|        return 0; | ||||
|  | ||||
|     /* check the audio sample rate */ | ||||
|     number = AV_RL32(&p->buf[8]); | ||||
|     if ((number != 0) && ((number < 8000) | (number > 48000))) | ||||
|     sample_rate = AV_RL32(&p->buf[8]); | ||||
|     if (sample_rate && (sample_rate < 8000 || sample_rate > 48000)) | ||||
|         return 0; | ||||
|  | ||||
|     /* check the audio bytes/sample */ | ||||
|     number = AV_RL32(&p->buf[12]); | ||||
|     if (number > 2) | ||||
|     if (number > 2 || sample_rate && !number) | ||||
|         return 0; | ||||
|  | ||||
|     /* check the audio channels */ | ||||
|     number = AV_RL32(&p->buf[16]); | ||||
|     if (number > 2) | ||||
|     if (number > 2 || sample_rate && !number) | ||||
|         return 0; | ||||
|  | ||||
|     /* return half certainty since this check is a bit sketchy */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user