You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	avformat/avidec: Avoid integer overflow in NI switch check
Fixes: signed integer overflow: 0 - -9223372036854775808 cannot be represented in type 'long' Fixes: Ticket8149 Found-by: Suhwan Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
		| @@ -1532,11 +1532,12 @@ resync: | ||||
|         if (!avi->non_interleaved && st->nb_index_entries>1 && avi->index_loaded>1) { | ||||
|             int64_t dts= av_rescale_q(pkt->dts, st->time_base, AV_TIME_BASE_Q); | ||||
|  | ||||
|             if (avi->dts_max - dts > 2*AV_TIME_BASE) { | ||||
|             if (avi->dts_max < dts) { | ||||
|                 avi->dts_max = dts; | ||||
|             } else if (avi->dts_max - (uint64_t)dts > 2*AV_TIME_BASE) { | ||||
|                 avi->non_interleaved= 1; | ||||
|                 av_log(s, AV_LOG_INFO, "Switching to NI mode, due to poor interleaving\n"); | ||||
|             }else if (avi->dts_max < dts) | ||||
|                 avi->dts_max = dts; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         return 0; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user