diff options
author | Michael Roitzsch <mroi@users.sourceforge.net> | 2003-03-23 14:58:33 +0000 |
---|---|---|
committer | Michael Roitzsch <mroi@users.sourceforge.net> | 2003-03-23 14:58:33 +0000 |
commit | b4a5e1262a069efc1cea3fc4b4c85003b9ec04df (patch) | |
tree | 65e051cfaff92153bc76893db48caf5e75b07904 | |
parent | 9a6ca85ff16cce2dc26bd1df9a5da96f411bfcba (diff) | |
download | xine-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.c | 6 |
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); |