From 61e4a801913f76695aa8445206d27720ba7bac8b Mon Sep 17 00:00:00 2001 From: reimar Date: Sat, 6 Jan 2007 19:07:58 +0000 Subject: Subtitle handling cleanup: factor out code for parsing embedded subtitles and adding and removing of lines in subtitle struct into subreader.c. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21845 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demux_mov.c | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) (limited to 'libmpdemux/demux_mov.c') diff --git a/libmpdemux/demux_mov.c b/libmpdemux/demux_mov.c index 99991b9c37..95ba29c6d4 100644 --- a/libmpdemux/demux_mov.c +++ b/libmpdemux/demux_mov.c @@ -2172,29 +2172,15 @@ if(trak->pos==0 && trak->stream_header_len>0){ int len = trak->samples[samplenr].size; double subpts = (double)trak->samples[samplenr].pts / (double)trak->timescale; stream_seek(demuxer->stream, pos); - if (sh->type == 'v') - ds_read_packet(demuxer->sub, demuxer->stream, len, subpts, pos, 0); - else { - int i; - char *line = priv->subtext; + if (sh->type != 'v') { stream_skip(demuxer->stream, 2); // size len -= 2; if (len < 0) len = 0; if (len > MOV_MAX_SUBLEN) len = MOV_MAX_SUBLEN; - stream_read(demuxer->stream, priv->subtext, len); - priv->subtext[len] = 0; - priv->subs.lines = 1; - priv->subs.text[0] = &priv->subtext; - while ((line = strchr(line, '\n'))) { - *line++ = 0; - priv->subs.text[priv->subs.lines] = line; - priv->subs.lines++; - } - vo_sub = &priv->subs; } + ds_read_packet(demuxer->sub, demuxer->stream, len, subpts, pos, 0); priv->current_sub = samplenr; } - vo_osd_changed (OSDTYPE_SUBTITLE); } return 1; -- cgit v1.2.3