Mercurial > mplayer.hg
comparison Gui/mplayer/mw.c @ 18118:f9a939c204ad
Adds "cheap" subtitle switching for non-DVD playouts (for ex. OGG or MKV).
Patch by Stanislav Maslovski <stanislav POIS maslovski AH gmail POIS com>
Original thread:
Date: Apr 12, 2006 1:50 PM
Subject: [MPlayer-dev-eng] [PATCH] GUI: add cheap subtitle switching for non-DVD
author | gpoirier |
---|---|
date | Sun, 16 Apr 2006 16:58:36 +0000 |
parents | 0e152834911a |
children | 34cc93e9848f |
comparison
equal
deleted
inserted
replaced
18117:0b13bab3f237 | 18118:f9a939c204ad |
---|---|
30 | 30 |
31 #include "play.h" | 31 #include "play.h" |
32 #include "widgets.h" | 32 #include "widgets.h" |
33 | 33 |
34 extern mixer_t mixer; // mixer from mplayer.c | 34 extern mixer_t mixer; // mixer from mplayer.c |
35 extern int global_sub_size; | |
36 extern int global_sub_pos; | |
37 extern int global_sub_indices[]; | |
38 extern int sub_source(void); | |
39 #define SUB_SOURCE_VOBSUB 1 | |
40 #define SUB_SOURCE_DEMUX 2 | |
35 | 41 |
36 extern unsigned int GetTimerMS( void ); | 42 extern unsigned int GetTimerMS( void ); |
37 | 43 |
38 unsigned char * mplDrawBuffer = NULL; | 44 unsigned char * mplDrawBuffer = NULL; |
39 int mplMainRender = 1; | 45 int mplMainRender = 1; |
106 goto play; | 112 goto play; |
107 | 113 |
108 case evSetVideo: | 114 case evSetVideo: |
109 if ( !guiIntfStruct.demuxer || video_id == iparam ) break; | 115 if ( !guiIntfStruct.demuxer || video_id == iparam ) break; |
110 video_id=iparam; | 116 video_id=iparam; |
117 goto play; | |
118 | |
119 case evSetSubtitle: | |
120 if ( !guiIntfStruct.demuxer || global_sub_pos == iparam ) break; | |
121 global_sub_pos = iparam; | |
122 if ( global_sub_pos >= 0 ) | |
123 switch ( sub_source() ) | |
124 { | |
125 case SUB_SOURCE_VOBSUB: | |
126 vobsub_id = global_sub_pos - global_sub_indices[SUB_SOURCE_VOBSUB]; | |
127 goto play; | |
128 case SUB_SOURCE_DEMUX: | |
129 vobsub_id = -1; | |
130 dvdsub_id = global_sub_pos - global_sub_indices[SUB_SOURCE_DEMUX]; | |
131 goto play; | |
132 } | |
133 vobsub_id = -1; | |
134 dvdsub_id = -2; | |
111 goto play; | 135 goto play; |
112 | 136 |
113 #ifdef HAVE_VCD | 137 #ifdef HAVE_VCD |
114 case evSetVCDTrack: | 138 case evSetVCDTrack: |
115 guiIntfStruct.Track=iparam; | 139 guiIntfStruct.Track=iparam; |