comparison parser.c @ 9717:5ebac9debadf libavcodec

do not reference remainder packets in the parser, fix timestamps fetching
author bcoudurier
date Tue, 26 May 2009 23:58:30 +0000
parents 322fa07fd397
children 05a510cd1e3b
comparison
equal deleted inserted replaced
9716:d45e44454d13 9717:5ebac9debadf
151 151
152 if (buf_size == 0) { 152 if (buf_size == 0) {
153 /* padding is always necessary even if EOF, so we add it here */ 153 /* padding is always necessary even if EOF, so we add it here */
154 memset(dummy_buf, 0, sizeof(dummy_buf)); 154 memset(dummy_buf, 0, sizeof(dummy_buf));
155 buf = dummy_buf; 155 buf = dummy_buf;
156 } else { 156 } else if (s->cur_offset + buf_size !=
157 s->cur_frame_end[s->cur_frame_start_index]) { /* skip remainder packets */
157 /* add a new packet descriptor */ 158 /* add a new packet descriptor */
158 i = (s->cur_frame_start_index + 1) & (AV_PARSER_PTS_NB - 1); 159 i = (s->cur_frame_start_index + 1) & (AV_PARSER_PTS_NB - 1);
159 s->cur_frame_start_index = i; 160 s->cur_frame_start_index = i;
160 s->cur_frame_offset[i] = s->cur_offset; 161 s->cur_frame_offset[i] = s->cur_offset;
161 s->cur_frame_end[i] = s->cur_offset + buf_size; 162 s->cur_frame_end[i] = s->cur_offset + buf_size;