1
mirror of https://code.videolan.org/videolan/vlc synced 2024-09-04 09:11:33 +02:00

* modules/access/dvdread.c: fixed bug that made some DVDs unplayable.

This commit is contained in:
Gildas Bazin 2005-06-05 02:25:44 +00:00
parent 5ca93b3714
commit f7bc314e7e

View File

@ -491,7 +491,7 @@ static int Demux( demux_t *p_demux )
DvdReadHandleDSI( p_demux, p_buffer );
/* End of title */
if( p_sys->i_next_vobu > p_sys->i_title_end_block )
if( p_sys->i_cur_cell >= p_sys->p_cur_pgc->nr_of_cells )
{
if( p_sys->i_title + 1 >= p_sys->i_titles )
{
@ -516,7 +516,7 @@ static int Demux( demux_t *p_demux )
DemuxBlock( p_demux, p_buffer, DVD_VIDEO_LB_LEN );
}
if( p_sys->i_cur_block > p_sys->i_title_end_block )
if( p_sys->i_cur_cell >= p_sys->p_cur_pgc->nr_of_cells )
{
if( p_sys->i_title + 1 >= p_sys->i_titles )
{
@ -1178,6 +1178,10 @@ static void DvdReadHandleDSI( demux_t *p_demux, uint8_t *p_data )
else if( p_sys->dsi_pack.vobu_sri.next_vobu == SRI_END_OF_CELL )
{
p_sys->i_cur_cell = p_sys->i_next_cell;
/* End of title */
if( p_sys->i_cur_cell >= p_sys->p_cur_pgc->nr_of_cells ) return;
DvdReadFindCell( p_demux );
p_sys->i_next_vobu =