summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cfg-mplayer.h5
-rw-r--r--mplayer.c7
2 files changed, 11 insertions, 1 deletions
diff --git a/cfg-mplayer.h b/cfg-mplayer.h
index bbe1a74141..c05ad7c3f7 100644
--- a/cfg-mplayer.h
+++ b/cfg-mplayer.h
@@ -235,6 +235,11 @@ struct config conf[]={
{"lircconf", &lirc_configfile, CONF_TYPE_STRING, 0, 0, 0},
#endif
+#ifdef USE_DVDREAD
+ {"alang", &audio_lang, CONF_TYPE_STRING, 0, 0, 0},
+ {"slang", &dvdsub_lang, CONF_TYPE_STRING, 0, 0, 0},
+#endif
+
{"gui", &use_gui, CONF_TYPE_FLAG, 0, 0, 1},
{"nogui", &use_gui, CONF_TYPE_FLAG, 0, 1, 0},
diff --git a/mplayer.c b/mplayer.c
index 5006894ba8..0242db6d8b 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -189,6 +189,8 @@ int allow_dshow=0;
int audio_id=-1;
int video_id=-1;
int dvdsub_id=-1;
+char* audio_lang=NULL;
+char* dvdsub_lang=NULL;
static int vcd_track=0;
// cache2:
@@ -851,8 +853,11 @@ if(stream_dump_type==5){
exit_player(MSGTR_Exit_eof);
}
-
#ifdef USE_DVDREAD
+ 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="spudec";
vo_spudec=spudec_new(stream->priv);
if (vo_spudec!=NULL)