Commit ea14ba77 authored by Christophe Massiot's avatar Christophe Massiot

Fixed handling of STATE_INVALID states.

parent ef46a906
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* libmpeg2.c: mpeg2 video decoder module making use of libmpeg2. * libmpeg2.c: mpeg2 video decoder module making use of libmpeg2.
***************************************************************************** *****************************************************************************
* Copyright (C) 1999-2001 VideoLAN * Copyright (C) 1999-2001 VideoLAN
* $Id: libmpeg2.c,v 1.14 2003/04/22 23:31:07 gbazin Exp $ * $Id: libmpeg2.c,v 1.15 2003/05/03 22:25:44 massiot Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -337,8 +337,25 @@ static int RunDecoder( decoder_fifo_t *p_fifo ) ...@@ -337,8 +337,25 @@ static int RunDecoder( decoder_fifo_t *p_fifo )
break; break;
case STATE_INVALID: case STATE_INVALID:
{
uint8_t *buf[3];
buf[0] = buf[1] = buf[2] = NULL;
msg_Warn( p_dec->p_fifo, "invalid picture encountered" ); msg_Warn( p_dec->p_fifo, "invalid picture encountered" );
vout_SynchroReset( p_dec->p_synchro );
mpeg2_skip( p_dec->p_mpeg2dec, 1 );
mpeg2_set_buf( p_dec->p_mpeg2dec, buf, NULL );
if ( p_dec->p_info->current_fbuf != NULL )
p_dec->p_picture_to_destroy
= p_dec->p_info->current_fbuf->id;
if( p_dec->p_info->discard_fbuf &&
p_dec->p_info->discard_fbuf->id )
{
p_pic = (picture_t *)p_dec->p_info->discard_fbuf->id;
vout_UnlinkPicture( p_dec->p_vout, p_pic );
}
break; break;
}
default: default:
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment