summaryrefslogtreecommitdiff
path: root/src/libmpeg2/decode.c
diff options
context:
space:
mode:
authorRich J Wareham <richwareham@users.sourceforge.net>2001-09-14 21:25:55 +0000
committerRich J Wareham <richwareham@users.sourceforge.net>2001-09-14 21:25:55 +0000
commit2a6944aa21b4184d8174b74d9c0fbff807c16c4e (patch)
treeafa0258b9fa0bbca72511b67dfd28f327d6c9f03 /src/libmpeg2/decode.c
parent01acad2a27f178995bcfda3f752fd1dac545c109 (diff)
downloadxine-lib-2a6944aa21b4184d8174b74d9c0fbff807c16c4e.tar.gz
xine-lib-2a6944aa21b4184d8174b74d9c0fbff807c16c4e.tar.bz2
Added some stuff to make still-frame menus work a bit better, allowed events for UI to find language of audio/spu track
CVS patchset: 636 CVS date: 2001/09/14 21:25:55
Diffstat (limited to 'src/libmpeg2/decode.c')
-rw-r--r--src/libmpeg2/decode.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libmpeg2/decode.c b/src/libmpeg2/decode.c
index 632440a5f..4dd7e60a2 100644
--- a/src/libmpeg2/decode.c
+++ b/src/libmpeg2/decode.c
@@ -371,6 +371,20 @@ void mpeg2_close (mpeg2dec_t * mpeg2dec)
}
*/
+ /* Ensure that the last decoded frame is drawn */
+ picture->current_frame->bFrameBad |= mpeg2dec->drop_frame;
+
+ if (picture->picture_coding_type == B_TYPE) {
+ if (picture->mpeg1)
+ picture->current_frame->PTS = 0;
+ mpeg2dec->frames_to_drop = picture->current_frame->draw (picture->current_frame);
+ picture->current_frame->free (picture->current_frame);
+ picture->current_frame = NULL;
+ picture->throwaway_frame = NULL;
+ } else {
+ mpeg2dec->frames_to_drop = picture->current_frame->draw (picture->current_frame);
+ }
+
if (picture->throwaway_frame)
{
picture->throwaway_frame->displayed (picture->throwaway_frame);