diff --git a/cfg-common.h b/cfg-common.h index 5ef0675e74..7dfdebe9fb 100644 --- a/cfg-common.h +++ b/cfg-common.h @@ -21,6 +21,8 @@ {"dvd", &dvd_title, CONF_TYPE_INT, CONF_RANGE, 1, 99, NULL}, {"dvdangle", &dvd_angle, CONF_TYPE_INT, CONF_RANGE, 1, 99, NULL}, {"chapter", dvd_parse_chapter_range, CONF_TYPE_FUNC_PARAM, 0, 0, 0, NULL}, + {"alang", &audio_lang, CONF_TYPE_STRING, 0, 0, 0, NULL}, + {"slang", &dvdsub_lang, CONF_TYPE_STRING, 0, 0, 0, NULL}, #else {"dvd", "MPlayer was compiled WITHOUT libdvdread support!\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, #endif diff --git a/cfg-mplayer.h b/cfg-mplayer.h index ddf180fbaa..7489eacc4f 100644 --- a/cfg-mplayer.h +++ b/cfg-mplayer.h @@ -281,11 +281,6 @@ static config_t mplayer_opts[]={ {"lircconf", &lirc_configfile, CONF_TYPE_STRING, CONF_GLOBAL, 0, 0, NULL}, #endif -#ifdef USE_DVDREAD - {"alang", &audio_lang, CONF_TYPE_STRING, 0, 0, 0, NULL}, - {"slang", &dvdsub_lang, CONF_TYPE_STRING, 0, 0, 0, NULL}, -#endif - {"gui", &use_gui, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL}, {"nogui", &use_gui, CONF_TYPE_FLAG, CONF_GLOBAL, 1, 0, NULL}, diff --git a/mencoder.c b/mencoder.c index e85b3b5723..9d3e80d209 100644 --- a/mencoder.c +++ b/mencoder.c @@ -124,6 +124,8 @@ int audio_id=-1; int video_id=-1; int dvdsub_id=-1; int vobsub_id=-1; +char* audio_lang=NULL; +char* dvdsub_lang=NULL; static char* spudec_ifo=NULL; static int has_audio=1; @@ -606,6 +608,15 @@ divx4_param.rc_reaction_ratio = 20; printf("success: format: %d data: 0x%X - 0x%X\n",file_format, (int)(stream->start_pos),(int)(stream->end_pos)); +#ifdef USE_DVDREAD +if(stream->type==STREAMTYPE_DVD){ + current_module="dvd lang->id"; + if(audio_lang && audio_id==-1) audio_id=dvd_aid_from_lang(stream,audio_lang); + if(dvdsub_lang && dvdsub_id==-1) dvdsub_id=dvd_sid_from_lang(stream,dvdsub_lang); + current_module=NULL; +} +#endif + if(stream_cache_size) stream_enable_cache(stream,stream_cache_size*1024,0,0); #ifdef HAVE_LIBCSS