You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	fftools/ffmpeg: Fallback to duration if sample rate is unavailable
Regression since:af1761f7Fixes: Division by 0 Fixes: ffmpeg_crash_1 Found-by: Thuan Pham, Marcel Böhme, Andrew Santosa and Alexandru Razvan Caciulescu with AFLSmart Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit16d8b13b3b) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
		
							
								
								
									
										8
									
								
								ffmpeg.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								ffmpeg.c
									
									
									
									
									
								
							| @@ -2396,8 +2396,12 @@ static int process_input_packet(InputStream *ist, const AVPacket *pkt) | ||||
|         ist->dts = ist->next_dts; | ||||
|         switch (ist->dec_ctx->codec_type) { | ||||
|         case AVMEDIA_TYPE_AUDIO: | ||||
|             ist->next_dts += ((int64_t)AV_TIME_BASE * ist->dec_ctx->frame_size) / | ||||
|                              ist->dec_ctx->sample_rate; | ||||
|             if (ist->dec_ctx->sample_rate) { | ||||
|                 ist->next_dts += ((int64_t)AV_TIME_BASE * ist->dec_ctx->frame_size) / | ||||
|                                   ist->dec_ctx->sample_rate; | ||||
|             } else { | ||||
|                 ist->next_dts += av_rescale_q(pkt->duration, ist->st->time_base, AV_TIME_BASE_Q); | ||||
|             } | ||||
|             break; | ||||
|         case AVMEDIA_TYPE_VIDEO: | ||||
|             if (ist->framerate.num) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user