From da0bf27930ce4add54a58dae56d6c76948898cac Mon Sep 17 00:00:00 2001 From: Richard H Lee Date: Mon, 9 May 2016 22:28:58 +0100 Subject: [PATCH] ass_process_chunk: Use llrint, not lrint libass's ass_process_chunk expects long long int for the timecode and durations arguments, thus should use llrint instead of lrint. This does not cause any problems on most platforms, but on cygwin, it causes strange subtitle behaviour, like subtitles not showing, getting stuck or old subtitles showing at the same time as new subtitles. --- sub/sd_ass.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sub/sd_ass.c b/sub/sd_ass.c index ebe04a29aa..6f35053370 100644 --- a/sub/sd_ass.c +++ b/sub/sd_ass.c @@ -270,8 +270,8 @@ static void decode(struct sd *sd, struct demux_packet *packet) // Note that for this packet format, libass has an internal mechanism // for discarding duplicate (already seen) packets. ass_process_chunk(track, packet->buffer, packet->len, - lrint(packet->pts * 1000), - lrint(packet->duration * 1000)); + llrint(packet->pts * 1000), + llrint(packet->duration * 1000)); } }