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;