mirror of
				https://github.com/nyanmisaka/ffmpeg-rockchip.git
				synced 2025-10-26 18:30:52 +08:00 
			
		
		
		
	avformat/matroskadec: Simplify checks for cook and ATRAC3
Some conditions which don't change and which can therefore be checked in read_header() were instead rechecked upon parsing each block. This has been changed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
		| @@ -2624,7 +2624,8 @@ static int matroska_parse_tracks(AVFormatContext *s) | ||||
|                         return AVERROR_INVALIDDATA; | ||||
|                     track->audio.sub_packet_size = ff_sipr_subpk_size[flavor]; | ||||
|                     st->codecpar->bit_rate          = sipr_bit_rate[flavor]; | ||||
|                 } else if (track->audio.sub_packet_size <= 0) | ||||
|                 } else if (track->audio.sub_packet_size <= 0 || | ||||
|                            track->audio.frame_size % track->audio.sub_packet_size) | ||||
|                     return AVERROR_INVALIDDATA; | ||||
|                 st->codecpar->block_align = track->audio.sub_packet_size; | ||||
|                 extradata_offset       = 78; | ||||
| @@ -3138,7 +3139,7 @@ static int matroska_parse_rm_audio(MatroskaDemuxContext *matroska, | ||||
|             } | ||||
|             memcpy(track->audio.buf + y * w, data, w); | ||||
|         } else { | ||||
|             if (size < sps * w / sps || h<=0 || w%sps) { | ||||
|             if (size < w) { | ||||
|                 av_log(matroska->ctx, AV_LOG_ERROR, | ||||
|                        "Corrupt generic RM-style audio packet size\n"); | ||||
|                 return AVERROR_INVALIDDATA; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Andreas Rheinhardt
					Andreas Rheinhardt