diff options
Diffstat (limited to 'mplayer.c')
-rw-r--r-- | mplayer.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -3460,7 +3460,9 @@ if(vo_config_count && vo_spudec) { // DVD sub len = ds_get_packet_sub(d_dvdsub,(unsigned char**)&packet); if(len > 0) { - timestamp = 90000*(sh_video->timer + d_dvdsub->pts + sub_delay - sh_video->pts); + if (fabs(d_dvdsub->pts - sh_video->pts) < 10) // prevent missing subs on pts reset + timestamp = 90000*(sh_video->timer + d_dvdsub->pts + sub_delay - sh_video->pts); + else timestamp = 90000*(sh_video->timer + sub_delay); mp_dbg(MSGT_CPLAYER,MSGL_V,"\rDVD sub: len=%d v_pts=%5.3f s_pts=%5.3f ts=%d \n",len,sh_video->pts,d_dvdsub->pts,timestamp); } } |