summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_mov.c
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-01-06 19:07:58 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-01-06 19:07:58 +0000
commit61e4a801913f76695aa8445206d27720ba7bac8b (patch)
treefbf798e232b50df044361d232d3899e69e90b3f8 /libmpdemux/demux_mov.c
parent20a7d46a88825b08eea0a3641bedfd53fcd5998d (diff)
downloadmpv-61e4a801913f76695aa8445206d27720ba7bac8b.tar.bz2
mpv-61e4a801913f76695aa8445206d27720ba7bac8b.tar.xz
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
Diffstat (limited to 'libmpdemux/demux_mov.c')
-rw-r--r--libmpdemux/demux_mov.c18
1 files changed, 2 insertions, 16 deletions
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;