diff options
author | gpoirier <gpoirier@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-04-16 16:58:36 +0000 |
---|---|---|
committer | gpoirier <gpoirier@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-04-16 16:58:36 +0000 |
commit | 6a425eee5c55451f80dc5c5b33a538f948dec57d (patch) | |
tree | 1725a6c6fefc7cef16c96154f9de0e2e58a5de6a /Gui/mplayer/mw.c | |
parent | 1e390288edab15855ee84d864f01635d4b97d155 (diff) | |
download | mpv-6a425eee5c55451f80dc5c5b33a538f948dec57d.tar.bz2 mpv-6a425eee5c55451f80dc5c5b33a538f948dec57d.tar.xz |
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
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18119 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'Gui/mplayer/mw.c')
-rw-r--r-- | Gui/mplayer/mw.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Gui/mplayer/mw.c b/Gui/mplayer/mw.c index 6a31222af7..811d0998c3 100644 --- a/Gui/mplayer/mw.c +++ b/Gui/mplayer/mw.c @@ -32,6 +32,12 @@ #include "widgets.h" extern mixer_t mixer; // mixer from mplayer.c +extern int global_sub_size; +extern int global_sub_pos; +extern int global_sub_indices[]; +extern int sub_source(void); +#define SUB_SOURCE_VOBSUB 1 +#define SUB_SOURCE_DEMUX 2 extern unsigned int GetTimerMS( void ); @@ -110,6 +116,24 @@ void mplEventHandling( int msg,float param ) video_id=iparam; goto play; + case evSetSubtitle: + if ( !guiIntfStruct.demuxer || global_sub_pos == iparam ) break; + global_sub_pos = iparam; + if ( global_sub_pos >= 0 ) + switch ( sub_source() ) + { + case SUB_SOURCE_VOBSUB: + vobsub_id = global_sub_pos - global_sub_indices[SUB_SOURCE_VOBSUB]; + goto play; + case SUB_SOURCE_DEMUX: + vobsub_id = -1; + dvdsub_id = global_sub_pos - global_sub_indices[SUB_SOURCE_DEMUX]; + goto play; + } + vobsub_id = -1; + dvdsub_id = -2; + goto play; + #ifdef HAVE_VCD case evSetVCDTrack: guiIntfStruct.Track=iparam; |