Index: mplayer.c =================================================================== RCS file: /cvsroot/mplayer/main/mplayer.c,v retrieving revision 1.693 diff -u -r1.693 mplayer.c --- mplayer.c 3 May 2003 06:09:36 -0000 1.693 +++ mplayer.c 14 May 2003 20:05:57 -0000 @@ -3364,9 +3364,11 @@ // DVD sub: if(vo_config_count && vo_spudec) { unsigned char* packet=NULL; - int len,timestamp; + int len=1,timestamp; + current_module="spudec"; + spudec_heartbeat(vo_spudec,90000*sh_video->timer); // Get a sub packet from the dvd or a vobsub and make a timestamp relative to sh_video->timer - int get_sub_packet(void) { + while(len>0 && packet){ // Vobsub len = 0; if(vo_vobsub) { @@ -3386,11 +3388,6 @@ 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); } } - return len; - } - current_module="spudec"; - spudec_heartbeat(vo_spudec,90000*sh_video->timer); - while(get_sub_packet()>0 && packet){ if(timestamp < 0) timestamp = 0; spudec_assemble(vo_spudec,packet,len,timestamp); }