comparison matroskaenc.c @ 2507:048f4f45a84c libavformat

Use num_entries directly rather than mixing it with a local copy
author conrad
date Wed, 05 Sep 2007 00:25:44 +0000
parents 623cb1c85104
children 9b96804b67c1
comparison
equal deleted inserted replaced
2506:623cb1c85104 2507:048f4f45a84c
260 } 260 }
261 261
262 static int mkv_add_seekhead_entry(mkv_seekhead *seekhead, unsigned int elementid, uint64_t filepos) 262 static int mkv_add_seekhead_entry(mkv_seekhead *seekhead, unsigned int elementid, uint64_t filepos)
263 { 263 {
264 mkv_seekhead_entry *entries = seekhead->entries; 264 mkv_seekhead_entry *entries = seekhead->entries;
265 int new_entry = seekhead->num_entries;
266 265
267 // don't store more elements than we reserved space for 266 // don't store more elements than we reserved space for
268 if (seekhead->max_entries > 0 && seekhead->max_entries <= seekhead->num_entries) 267 if (seekhead->max_entries > 0 && seekhead->max_entries <= seekhead->num_entries)
269 return -1; 268 return -1;
270 269
271 entries = av_realloc(entries, (seekhead->num_entries + 1) * sizeof(mkv_seekhead_entry)); 270 entries = av_realloc(entries, (seekhead->num_entries + 1) * sizeof(mkv_seekhead_entry));
272 if (entries == NULL) 271 if (entries == NULL)
273 return AVERROR(ENOMEM); 272 return AVERROR(ENOMEM);
274 273
275 entries[new_entry].elementid = elementid; 274 entries[seekhead->num_entries ].elementid = elementid;
276 entries[new_entry].segmentpos = filepos - seekhead->segment_offset; 275 entries[seekhead->num_entries++].segmentpos = filepos - seekhead->segment_offset;
277 276
278 seekhead->entries = entries; 277 seekhead->entries = entries;
279 seekhead->num_entries++;
280 278
281 return 0; 279 return 0;
282 } 280 }
283 281
284 /** 282 /**
339 } 337 }
340 338
341 static int mkv_add_cuepoint(mkv_cues *cues, AVPacket *pkt, offset_t cluster_pos) 339 static int mkv_add_cuepoint(mkv_cues *cues, AVPacket *pkt, offset_t cluster_pos)
342 { 340 {
343 mkv_cuepoint *entries = cues->entries; 341 mkv_cuepoint *entries = cues->entries;
344 int new_entry = cues->num_entries;
345 342
346 entries = av_realloc(entries, (cues->num_entries + 1) * sizeof(mkv_cuepoint)); 343 entries = av_realloc(entries, (cues->num_entries + 1) * sizeof(mkv_cuepoint));
347 if (entries == NULL) 344 if (entries == NULL)
348 return AVERROR(ENOMEM); 345 return AVERROR(ENOMEM);
349 346
350 entries[new_entry].pts = pkt->pts; 347 entries[cues->num_entries ].pts = pkt->pts;
351 entries[new_entry].tracknum = pkt->stream_index + 1; 348 entries[cues->num_entries ].tracknum = pkt->stream_index + 1;
352 entries[new_entry].cluster_pos = cluster_pos - cues->segment_offset; 349 entries[cues->num_entries++].cluster_pos = cluster_pos - cues->segment_offset;
353 350
354 cues->entries = entries; 351 cues->entries = entries;
355 cues->num_entries++;
356 return 0; 352 return 0;
357 } 353 }
358 354
359 static offset_t mkv_write_cues(ByteIOContext *pb, mkv_cues *cues, int num_tracks) 355 static offset_t mkv_write_cues(ByteIOContext *pb, mkv_cues *cues, int num_tracks)
360 { 356 {