summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAurelien Jacobs <aurel@gnuage.org>2008-09-28 22:55:28 +0000
committerAurelien Jacobs <aurel@gnuage.org>2008-09-28 22:55:28 +0000
commite7d4b7431d441ef75abce5582a62394c2b0c830d (patch)
tree2b4b8b8f6162bc56003f7593e685a6ff1b839d1a
parente43d7a18d8c4f116500d8c99beb52fa9fe92e6d1 (diff)
matroskadec: pass duration as parameter of matroska_fix_ass_packet()
Originally committed as revision 15452 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavformat/matroskadec.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 479330727a..22f70ae87a 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -934,7 +934,7 @@ static int matroska_decode_buffer(uint8_t** buf, int* buf_size,
}
static void matroska_fix_ass_packet(MatroskaDemuxContext *matroska,
- AVPacket *pkt)
+ AVPacket *pkt, uint64_t display_duration)
{
char *line, *layer, *ptr = pkt->data, *end = ptr+pkt->size;
for (; *ptr!=',' && ptr<end-1; ptr++);
@@ -942,7 +942,7 @@ static void matroska_fix_ass_packet(MatroskaDemuxContext *matroska,
layer = ++ptr;
for (; *ptr!=',' && ptr<end-1; ptr++);
if (*ptr == ',') {
- int64_t end_pts = pkt->pts + pkt->convergence_duration;
+ int64_t end_pts = pkt->pts + display_duration;
int sc = matroska->time_scale * pkt->pts / 10000000;
int ec = matroska->time_scale * end_pts / 10000000;
int sh, sm, ss, eh, em, es, len;
@@ -1627,7 +1627,7 @@ static int matroska_parse_block(MatroskaDemuxContext *matroska, uint8_t *data,
pkt->duration = duration;
if (st->codec->codec_id == CODEC_ID_SSA)
- matroska_fix_ass_packet(matroska, pkt);
+ matroska_fix_ass_packet(matroska, pkt, duration);
dynarray_add(&matroska->packets, &matroska->num_packets, pkt);
}