summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfaust3 <faust3@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-05-17 09:21:21 +0000
committerfaust3 <faust3@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-05-17 09:21:21 +0000
commit0e82afdab5bdb9d86c35a1faf8b2fa17849fbfbd (patch)
tree5dce6eb537e6cdc4aceb1c629041c4b84afb9be8
parentcdf1feb30194dc9b83e986a2d160ec6d5653d89c (diff)
downloadmpv-0e82afdab5bdb9d86c35a1faf8b2fa17849fbfbd.tar.bz2
mpv-0e82afdab5bdb9d86c35a1faf8b2fa17849fbfbd.tar.xz
new slave mode command to show text via osd, patch by Lars Gemeinhardt <lars.gemeinhardt at searchbroker.de> (reviewed by albeu)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10117 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--input/input.c1
-rw-r--r--input/input.h1
-rw-r--r--mplayer.c14
3 files changed, 16 insertions, 0 deletions
diff --git a/input/input.c b/input/input.c
index 080bc16bb6..059205a461 100644
--- a/input/input.c
+++ b/input/input.c
@@ -59,6 +59,7 @@ static mp_cmd_t mp_cmds[] = {
{ MP_CMD_SUB_DELAY, "sub_delay",1, { {MP_CMD_ARG_FLOAT,{0}}, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } },
{ MP_CMD_SUB_STEP, "sub_step",1, { { MP_CMD_ARG_INT,{0} }, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } },
{ MP_CMD_OSD, "osd",0, { {MP_CMD_ARG_INT,{-1}}, {-1,{0}} } },
+ { MP_CMD_OSD_SHOW_TEXT, "osd_show_text", 1, { {MP_CMD_ARG_STRING, {0}}, {-1,{0}} } },
{ MP_CMD_VOLUME, "volume", 1, { { MP_CMD_ARG_INT,{0} }, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } },
{ MP_CMD_MIXER_USEMASTER, "use_master", 0, { {-1,{0}} } },
{ MP_CMD_MUTE, "mute", 0, { {-1,{0}} } },
diff --git a/input/input.h b/input/input.h
index e13493f0a0..34ff50067d 100644
--- a/input/input.h
+++ b/input/input.h
@@ -42,6 +42,7 @@
#endif
#define MP_CMD_SUB_ALIGNMENT 39
#define MP_CMD_TV_LAST_CHANNEL 40
+#define MP_CMD_OSD_SHOW_TEXT 41
#define MP_CMD_GUI_EVENTS 5000
#define MP_CMD_GUI_LOADFILE 5001
diff --git a/mplayer.c b/mplayer.c
index 096461b312..b7aca15777 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -717,6 +717,7 @@ int eof=0;
int osd_function=OSD_PLAY;
int osd_last_pts=-303;
int osd_show_av_delay = 0;
+int osd_show_text = 0;
int osd_show_sub_delay = 0;
int osd_show_sub_pos = 0;
int osd_show_sub_visibility = 0;
@@ -1727,6 +1728,7 @@ float time_frame=0; // Timer
//float num_frames=0; // number of frames played
int grab_frames=0;
char osd_text_buffer[64];
+char osd_show_text_buffer[64];
int drop_frame=0; // current dropping status
int dropped_frames=0; // how many frames dropped since last non-dropped frame
int too_slow_frame_cnt=0;
@@ -2492,6 +2494,14 @@ if (stream->type==STREAMTYPE_DVDNAV && dvd_nav_still)
else
osd_level= v > MAX_OSD_LEVEL ? MAX_OSD_LEVEL : v;
} break;
+ case MP_CMD_OSD_SHOW_TEXT : {
+#ifdef USE_OSD
+ if(osd_level && sh_video){
+ osd_show_text=sh_video->fps; // 1 sec
+ strncpy(osd_show_text_buffer, cmd->args[0].v.s, 64);
+ }
+#endif
+ } break;
case MP_CMD_VOLUME : {
int v = cmd->args[0].v.i;
@@ -3263,6 +3273,10 @@ if(rel_seek_secs || abs_seek_pos){
osd_show_tv_channel--;
} else
#endif
+ if (osd_show_text) {
+ snprintf(osd_text_tmp, 63, "%s", osd_show_text_buffer);
+ osd_show_text--;
+ } else
if (osd_show_sub_visibility) {
snprintf(osd_text_tmp, 63, "Subtitles: %sabled", sub_visibility?"en":"dis");
osd_show_sub_visibility--;