Commit ea14ba77 authored by Christophe Massiot's avatar Christophe Massiot

Fixed handling of STATE_INVALID states.

parent ef46a906
......@@ -2,7 +2,7 @@
* libmpeg2.c: mpeg2 video decoder module making use of libmpeg2.
*****************************************************************************
* 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>
*
......@@ -337,8 +337,25 @@ static int RunDecoder( decoder_fifo_t *p_fifo )
break;
case STATE_INVALID:
{
uint8_t *buf[3];
buf[0] = buf[1] = buf[2] = NULL;
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;
}
default:
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