mirror of https://github.com/mpv-player/mpv
dvd seeking -> subtitle disappearing bugs fixed
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3745 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
e2b276840a
commit
4b08102347
|
@ -2115,6 +2115,10 @@ if(rel_seek_secs || abs_seek_pos){
|
|||
drop_frame_cnt=0;
|
||||
too_slow_frame_cnt=0;
|
||||
too_fast_frame_cnt=0;
|
||||
|
||||
#ifdef USE_DVDREAD
|
||||
if(vo_spudec) spudec_reset(vo_spudec);
|
||||
#endif
|
||||
}
|
||||
rel_seek_secs=0;
|
||||
abs_seek_pos=0;
|
||||
|
|
12
spudec.c
12
spudec.c
|
@ -284,9 +284,10 @@ void spudec_assemble(void *this, unsigned char *packet, int len, int pts100)
|
|||
}
|
||||
} else {
|
||||
// Continue current fragment
|
||||
if (spu->packet_size < spu->packet_offset + len)
|
||||
if (spu->packet_size < spu->packet_offset + len){
|
||||
fprintf(stderr,"invalid fragment\n");
|
||||
else {
|
||||
spu->packet_size = spu->packet_offset = 0;
|
||||
} else {
|
||||
memcpy(spu->packet + spu->packet_offset, packet, len);
|
||||
spu->packet_offset += len;
|
||||
}
|
||||
|
@ -297,6 +298,13 @@ void spudec_assemble(void *this, unsigned char *packet, int len, int pts100)
|
|||
}
|
||||
}
|
||||
|
||||
void spudec_reset(void *this) // called after seek
|
||||
{
|
||||
spudec_handle_t *spu = (spudec_handle_t*)this;
|
||||
spu->now_pts = -1;
|
||||
spu->packet_size = spu->packet_offset = 0;
|
||||
}
|
||||
|
||||
void spudec_heartbeat(void *this, int pts100)
|
||||
{
|
||||
((spudec_handle_t *)this)->now_pts = pts100;
|
||||
|
|
1
spudec.h
1
spudec.h
|
@ -9,6 +9,7 @@ void spudec_assemble(void *this, unsigned char *packet, int len, int pts100);
|
|||
void spudec_draw(void *this, void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride));
|
||||
void *spudec_new(dvd_priv_t *dvd_info);
|
||||
void spudec_free(void *this);
|
||||
void spudec_reset(void *this); // called after seek
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue