+ msg_Warn( p_demux, "can't set menu language to '%s' (%s)",
+ LANGUAGE_DEFAULT, dvdnav_err_to_string( p_sys->dvdnav ) );
+ }
+
+ /* Set audio language */
+ psz_code = DemuxGetLanguageCode( p_demux, "audio-language" );
+ if( dvdnav_audio_language_select( p_sys->dvdnav, psz_code ) !=
+ DVDNAV_STATUS_OK )
+ {
+ msg_Warn( p_demux, "can't set audio language to '%s' (%s)",
+ psz_code, dvdnav_err_to_string( p_sys->dvdnav ) );
+ /* We try to fall back to 'en' */
+ if( strcmp( psz_code, LANGUAGE_DEFAULT ) )
+ dvdnav_audio_language_select( p_sys->dvdnav, LANGUAGE_DEFAULT );
+ }
+ free( psz_code );
+
+ /* Set spu language */
+ psz_code = DemuxGetLanguageCode( p_demux, "sub-language" );
+ if( dvdnav_spu_language_select( p_sys->dvdnav, psz_code ) !=
+ DVDNAV_STATUS_OK )
+ {
+ msg_Warn( p_demux, "can't set spu language to '%s' (%s)",
+ psz_code, dvdnav_err_to_string( p_sys->dvdnav ) );
+ /* We try to fall back to 'en' */
+ if( strcmp( psz_code, LANGUAGE_DEFAULT ) )
+ dvdnav_spu_language_select(p_sys->dvdnav, LANGUAGE_DEFAULT );