/** read offset and size tables */
for(i=0; i < frame_count;i++) {
- if (avio_feof(pb))
- return AVERROR_INVALIDDATA;
+ if (avio_feof(pb)) {
+ ret = AVERROR_INVALIDDATA;
+ goto end;
+ }
chunk_size[i] = avio_rl32(pb);
}
for(i=0; i < frame_count;i++) {
- if (avio_feof(pb))
- return AVERROR_INVALIDDATA;
+ if (avio_feof(pb)) {
+ ret = AVERROR_INVALIDDATA;
+ goto end;
+ }
chunk_offset[i] = avio_rl32(pb);
}
for(i=0; i < frame_count;i++) {
- if (avio_feof(pb))
- return AVERROR_INVALIDDATA;
+ if (avio_feof(pb)) {
+ ret = AVERROR_INVALIDDATA;
+ goto end;
+ }
audio_size[i] = avio_rl32(pb) & 0xFFFF;
}
++video_frame_counter;
}
-
+end:
av_free(chunk_size);
av_free(audio_size);
av_free(chunk_offset);