mirror of
				https://github.com/nyanmisaka/ffmpeg-rockchip.git
				synced 2025-10-31 12:36:41 +08:00 
			
		
		
		
	avformat/3dostr: Return directly after having read packet
Avoids an avio_skip(s->pb, 0). Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
		| @@ -110,15 +110,12 @@ static int threedostr_read_header(AVFormatContext *s) | ||||
|  | ||||
| static int threedostr_read_packet(AVFormatContext *s, AVPacket *pkt) | ||||
| { | ||||
|     unsigned chunk, size, found_ssmp = 0; | ||||
|     unsigned chunk, size; | ||||
|     AVStream *st = s->streams[0]; | ||||
|     int64_t pos; | ||||
|     int ret = 0; | ||||
|  | ||||
|     while (!found_ssmp) { | ||||
|         if (avio_feof(s->pb)) | ||||
|             return AVERROR_EOF; | ||||
|  | ||||
|     while (!avio_feof(s->pb)) { | ||||
|         pos   = avio_tell(s->pb); | ||||
|         chunk = avio_rl32(s->pb); | ||||
|         size  = avio_rb32(s->pb); | ||||
| @@ -143,9 +140,7 @@ static int threedostr_read_packet(AVFormatContext *s, AVPacket *pkt) | ||||
|             pkt->pos = pos; | ||||
|             pkt->stream_index = 0; | ||||
|             pkt->duration = size / st->codecpar->channels; | ||||
|             size = 0; | ||||
|             found_ssmp = 1; | ||||
|             break; | ||||
|             return ret; | ||||
|         default: | ||||
|             av_log(s, AV_LOG_DEBUG, "skipping unknown chunk: %X\n", chunk); | ||||
|             break; | ||||
| @@ -154,7 +149,7 @@ static int threedostr_read_packet(AVFormatContext *s, AVPacket *pkt) | ||||
|         avio_skip(s->pb, size); | ||||
|     } | ||||
|  | ||||
|     return ret; | ||||
|     return AVERROR_EOF; | ||||
| } | ||||
|  | ||||
| AVInputFormat ff_threedostr_demuxer = { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Andreas Rheinhardt
					Andreas Rheinhardt