X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=plugins%2Fdvd%2Fdvd_es.c;h=c64dee09156c6eee4d90611d41a6bd28fe801794;hb=660db6d87715f5b677edbb8fddd071ad236511eb;hp=8348410c23c921b4c66db46e34678f1ebb88773f;hpb=3a31acccc1b5720c3256c4677ac85282915fc610;p=vlc diff --git a/plugins/dvd/dvd_es.c b/plugins/dvd/dvd_es.c index 8348410c23..c64dee0915 100644 --- a/plugins/dvd/dvd_es.c +++ b/plugins/dvd/dvd_es.c @@ -1,7 +1,7 @@ /* dvd_es.c: functions to find and select ES ***************************************************************************** * Copyright (C) 1998-2001 VideoLAN - * $Id: dvd_es.c,v 1.13 2002/06/02 13:49:35 sam Exp $ + * $Id: dvd_es.c,v 1.14 2002/06/27 19:46:32 sam Exp $ * * Author: Stéphane Borel * @@ -306,8 +306,19 @@ void DVDLaunchDecoders( input_thread_t * p_input ) } if( i_spu > 0 ) { - i_spu += p_dvd->p_ifo->vts.manager_inf.i_audio_nb; - input_SelectES( p_input, p_input->stream.pp_es[i_spu] ); + int i = 0, j = 0; + for( i = 0; i < p_input->stream.i_es_number; i++ ) + { + if ( p_input->stream.pp_es[i]->i_type == DVD_SPU_ES ) + { + j++; + if ( i_spu == j ) break; + } + } + if( i_spu == j ) + { + input_SelectES( p_input, p_input->stream.pp_es[i] ); + } } } }