diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-12-25 20:32:02 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-12-25 20:32:02 +0000 |
commit | 4b08102347cb4c0274b7aaf0106a8fd04d8b0a79 (patch) | |
tree | 36cab39cba1cb80470dc1921185a8ec944d11f05 /spudec.c | |
parent | e2b276840aa2471dc2ea58dc342b1724b1292c23 (diff) | |
download | mpv-4b08102347cb4c0274b7aaf0106a8fd04d8b0a79.tar.bz2 mpv-4b08102347cb4c0274b7aaf0106a8fd04d8b0a79.tar.xz |
dvd seeking -> subtitle disappearing bugs fixed
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3745 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'spudec.c')
-rw-r--r-- | spudec.c | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -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; |