Make vobsub options available in mencoder, though with my test file
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>
Fri, 1 Jul 2011 17:43:40 +0000 (17:43 +0000)
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>
Fri, 1 Jul 2011 17:43:40 +0000 (17:43 +0000)
it seems to not work quite right but stops adding subtitles after
some minutes.

git-svn-id: svn://git.mplayerhq.hu/mplayer/trunk@33789 b3059339-0415-0410-9bf9-f77b7e298cf2

cfg-common.h
cfg-mplayer.h
mencoder.c

index 42b7a73..f5b571c 100644 (file)
@@ -34,6 +34,7 @@
 #include "libmpdemux/mf.h"
 #include "libpostproc/postprocess.h"
 #include "sub/sub.h"
+#include "sub/unrar_exec.h"
 #include "osdep/priority.h"
 #include "stream/cdd.h"
 #include "stream/network.h"
@@ -589,6 +590,11 @@ const m_option_t common_opts[] = {
     {"utf8", &sub_utf8, CONF_TYPE_FLAG, 0, 0, 1, NULL},
     {"noutf8", &sub_utf8, CONF_TYPE_FLAG, 0, 1, 0, NULL},
     {"forcedsubsonly", &forced_subs_only, CONF_TYPE_FLAG, 0, 0, 1, NULL},
+    {"vobsub", &vobsub_name, CONF_TYPE_STRING, 0, 0, 0, NULL},
+    {"vobsubid", &vobsub_id, CONF_TYPE_INT, CONF_RANGE, 0, 31, NULL},
+#ifdef CONFIG_UNRAR_EXEC
+    {"unrarexec", &unrar_executable, CONF_TYPE_STRING, 0, 0, 0, NULL},
+#endif
     // specify IFO file for VOBSUB subtitle
     {"ifo", &spudec_ifo, CONF_TYPE_STRING, 0, 0, 0, NULL},
     // enable Closed Captioning display
index dffb442..ce6fcea 100644 (file)
@@ -35,7 +35,6 @@
 #include "libvo/vo_fbdev.h"
 #include "libvo/vo_zr.h"
 #include "mp_fifo.h"
-#include "sub/unrar_exec.h"
 
 
 const m_option_t vd_conf[]={
@@ -256,13 +255,6 @@ const m_option_t mplayer_opts[]={
     {"menu", "OSD menu support was not compiled in.\n", CONF_TYPE_PRINT,0, 0, 0, NULL},
 #endif /* CONFIG_MENU */
 
-    // these should be moved to -common, and supported in MEncoder
-    {"vobsub", &vobsub_name, CONF_TYPE_STRING, 0, 0, 0, NULL},
-    {"vobsubid", &vobsub_id, CONF_TYPE_INT, CONF_RANGE, 0, 31, NULL},
-#ifdef CONFIG_UNRAR_EXEC
-    {"unrarexec", &unrar_executable, CONF_TYPE_STRING, 0, 0, 0, NULL},
-#endif
-
     {"sstep", &step_sec, CONF_TYPE_INT, CONF_MIN, 0, 0, NULL},
 
     {"framedrop", &frame_dropping, CONF_TYPE_FLAG, 0, 0, 1, NULL},
index 808d9b8..c8462b8 100644 (file)
@@ -777,6 +777,8 @@ if(sh_audio && (out_audio_codec || seek_to_sec || !sh_audio->wf || playback_spee
     }
   }
 
+  vo_vobsub = vobsub_open(vobsub_name, spudec_ifo, 1, &vo_spudec);
+
 // set up video encoder:
 
 if (!curfile) { // curfile is non zero when a second file is opened
@@ -806,7 +808,7 @@ if (vobsub_out) {
     }
 #endif
 }
-else {
+else if (!vo_spudec) {
 init_vo_spudec(stream, sh_video, d_dvdsub ? d_dvdsub->sh : NULL);
 }