diff options
Diffstat (limited to 'libmpdemux/open.c')
-rw-r--r-- | libmpdemux/open.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libmpdemux/open.c b/libmpdemux/open.c index f0a3e7fff2..927dbeb971 100644 --- a/libmpdemux/open.c +++ b/libmpdemux/open.c @@ -618,7 +618,8 @@ int dvd_chapter_from_cell(dvd_priv_t* dvd,int title,int cell) int dvd_aid_from_lang(stream_t *stream, unsigned char* lang){ dvd_priv_t *d=stream->priv; int code,i; - while(lang && strlen(lang)>=2){ +if(lang){ + while(strlen(lang)>=2){ code=lang[1]|(lang[0]<<8); for(i=0;i<d->nr_of_channels;i++){ if(d->audio_streams[i].language==code){ @@ -631,7 +632,8 @@ int code,i; lang+=2; while (lang[0]==',' || lang[0]==' ') ++lang; } mp_msg(MSGT_OPEN,MSGL_WARN,"No matching DVD audio language found!\n"); - return -1; +} +return d->nr_of_channels ? d->audio_streams[0].id : -1; } int dvd_sid_from_lang(stream_t *stream, unsigned char* lang){ |