summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_mov.c
diff options
context:
space:
mode:
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;