From b27758bc02c7111d32c1e0d36d7cbdb4ce5d0400 Mon Sep 17 00:00:00 2001 From: Baptiste Coudurier Date: Sun, 21 Jun 2009 03:50:26 +0000 Subject: Fetch timestamp for the first frame of field only if frame_offset and next_frame_offset are not set, because second field has next frame offset set but not frame_offset, otherwise this wrongly fetch timestamp for the second field. Originally committed as revision 19244 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/parser.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libavcodec/parser.c') diff --git a/libavcodec/parser.c b/libavcodec/parser.c index 69215a47d0..0b007e9ee4 100644 --- a/libavcodec/parser.c +++ b/libavcodec/parser.c @@ -89,7 +89,8 @@ void ff_fetch_timestamp(AVCodecParserContext *s, int off, int remove){ s->offset= 0; for(i = 0; i < AV_PARSER_PTS_NB; i++) { if ( s->cur_offset + off >= s->cur_frame_offset[i] - &&(s-> frame_offset < s->cur_frame_offset[i] || !s->frame_offset) + && (s->frame_offset < s->cur_frame_offset[i] || + (!s->frame_offset && !s->next_frame_offset)) // first field/frame //check is disabled becausue mpeg-ts doesnt send complete PES packets && /*s->next_frame_offset + off <*/ s->cur_frame_end[i]){ s->dts= s->cur_frame_dts[i]; -- cgit v1.2.3