[MPlayer-cvslog] r25537 - trunk/mpcommon.c

eugeni subversion at mplayerhq.hu
Fri Dec 28 21:57:39 CET 2007


Author: eugeni
Date: Fri Dec 28 21:57:38 2007
New Revision: 25537

Log:
Fix update_subtitles() checking subtitle type for the wrong track.

update_subtitles() uses 'type' field from d_dvdsub even when some other track
is active. For this reason, external vobsub is not displayed when there is at
least one text track from demuxer (type is always 't' or 'a' in this case).
The solution is to check vobsub_id and dvdsub_id instead.


Modified:
   trunk/mpcommon.c

Modified: trunk/mpcommon.c
==============================================================================
--- trunk/mpcommon.c	(original)
+++ trunk/mpcommon.c	Fri Dec 28 21:57:38 2007
@@ -28,7 +28,7 @@ void update_subtitles(sh_video_t *sh_vid
     int len;
     char type = d_dvdsub->sh ? ((sh_sub_t *)d_dvdsub->sh)->type : 'v';
     static subtitle subs;
-    if (type == 'a')
+    if (dvdsub_id >= 0 && type == 'a')
 #ifdef USE_ASS
       if (!ass_enabled)
 #endif
@@ -59,7 +59,8 @@ void update_subtitles(sh_video_t *sh_vid
     }
 
     // DVD sub:
-    if (vo_config_count && vo_spudec && type == 'v') {
+    if (vo_config_count && vo_spudec &&
+	(vobsub_id >= 0 || (dvdsub_id >= 0 && type == 'v'))) {
 	int timestamp;
 	current_module = "spudec";
 	spudec_heartbeat(vo_spudec, 90000*sh_video->timer);



More information about the MPlayer-cvslog mailing list