summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Roitzsch <mroi@users.sourceforge.net>2003-03-23 14:58:33 +0000
committerMichael Roitzsch <mroi@users.sourceforge.net>2003-03-23 14:58:33 +0000
commitb4a5e1262a069efc1cea3fc4b4c85003b9ec04df (patch)
tree65e051cfaff92153bc76893db48caf5e75b07904
parent9a6ca85ff16cce2dc26bd1df9a5da96f411bfcba (diff)
downloadxine-lib-b4a5e1262a069efc1cea3fc4b4c85003b9ec04df.tar.gz
xine-lib-b4a5e1262a069efc1cea3fc4b4c85003b9ec04df.tar.bz2
is_frame_needed seems to drop too much: we should still parse the complete stream
but just do not output any frames some DVD menus, where is_frame_needed seems to skip something important for decoding should work now, while we should still see no artifacts on seeking CVS patchset: 4470 CVS date: 2003/03/23 14:58:33
-rw-r--r--src/libmpeg2/decode.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libmpeg2/decode.c b/src/libmpeg2/decode.c
index 54d9c2b72..3b8a9b964 100644
--- a/src/libmpeg2/decode.c
+++ b/src/libmpeg2/decode.c
@@ -230,10 +230,12 @@ static inline int parse_chunk (mpeg2dec_t * mpeg2dec, int code,
mpeg2dec->pts = 0;
return 0;
}
- } else if (mpeg2dec->is_frame_needed && (code != 0x00)) {
+ }
+ if (mpeg2dec->is_frame_needed) {
/* printf ("libmpeg2: waiting for frame start\n"); */
mpeg2dec->pts = 0;
- return 0;
+ if (mpeg2dec->picture->current_frame)
+ mpeg2dec->picture->current_frame->bad_frame = 1;
}
mpeg2_stats (code, buffer);