summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cfg-common.h2
-rw-r--r--cfg-mplayer.h5
-rw-r--r--mencoder.c11
3 files changed, 13 insertions, 5 deletions
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