summaryrefslogtreecommitdiffstats
path: root/mplayer.c
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-08-14 21:29:39 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-08-14 21:29:39 +0000
commite6921fc2ed25420e672aa34b8bea80562530adcc (patch)
tree9908079030469eb9d6573fd4a1770c7422d61287 /mplayer.c
parenta9bcc8342c43f8a570665759b7ec0de326740812 (diff)
downloadmpv-e6921fc2ed25420e672aa34b8bea80562530adcc.tar.bz2
mpv-e6921fc2ed25420e672aa34b8bea80562530adcc.tar.xz
there were no checks in MP_CMD_SUB for sh_video, so mplayer immediately segfaulted when such keys were pressed on non-video files
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10610 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mplayer.c')
-rw-r--r--mplayer.c35
1 files changed, 28 insertions, 7 deletions
diff --git a/mplayer.c b/mplayer.c
index b5dcffdc99..fa304b4e2d 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -2519,6 +2519,8 @@ if (stream->type==STREAMTYPE_DVDNAV && dvd_nav_still)
brk_cmd = 1;
} break;
case MP_CMD_SUB_DELAY : {
+#ifdef USE_SUB
+ if (sh_video) {
int abs= cmd->args[1].v.i;
float v = cmd->args[0].v.f;
if(abs)
@@ -2526,20 +2528,29 @@ if (stream->type==STREAMTYPE_DVDNAV && dvd_nav_still)
else
sub_delay += v;
osd_show_sub_delay = 9; // show the subdelay in OSD
+ }
+#endif
} break;
case MP_CMD_SUB_STEP : {
+#ifdef USE_SUB
+ if (sh_video) {
int movement = cmd->args[0].v.i;
step_sub(subdata, sh_video->pts, movement);
osd_show_sub_delay = 9; // show the subdelay in OSD
+ }
+#endif
} break;
- case MP_CMD_OSD :
+ case MP_CMD_OSD : {
+#ifdef USE_OSD
if(sh_video) {
int v = cmd->args[0].v.i;
if(v < 0)
osd_level=(osd_level+1)%(MAX_OSD_LEVEL+1);
else
osd_level= v > MAX_OSD_LEVEL ? MAX_OSD_LEVEL : v;
- } break;
+ }
+#endif
+ } break;
case MP_CMD_OSD_SHOW_TEXT : {
#ifdef USE_OSD
if(osd_level && sh_video){
@@ -2926,6 +2937,8 @@ if (stream->type==STREAMTYPE_DVDNAV && dvd_nav_still)
} break;
case MP_CMD_SUB_POS:
{
+#ifdef USE_SUB
+ if (sh_video) {
int v;
v = cmd->args[0].v.i;
@@ -2934,24 +2947,32 @@ if (stream->type==STREAMTYPE_DVDNAV && dvd_nav_still)
if(sub_pos <0) sub_pos=0;
vo_osd_changed(OSDTYPE_SUBTITLE);
osd_show_sub_pos = 9;
- } break;
+ }
+#endif
+ } break;
case MP_CMD_SUB_ALIGNMENT:
{
+#ifdef USE_SUB
+ if (sh_video) {
if (cmd->nargs >= 1)
sub_alignment = cmd->args[0].v.i;
else
sub_alignment = (sub_alignment+1) % 3;
osd_show_sub_alignment = 9;
vo_osd_changed(OSDTYPE_SUBTITLE);
- break;
- }
+ }
+#endif
+ } break;
case MP_CMD_SUB_VISIBILITY:
{
+#ifdef USE_SUB
+ if (sh_video) {
sub_visibility=1-sub_visibility;
osd_show_sub_visibility = 9; // show state of subtitle visibility in OSD
vo_osd_changed(OSDTYPE_SUBTITLE);
- break;
- }
+ }
+#endif
+ } break;
case MP_CMD_VOBSUB_LANG:
if (vo_vobsub)
{