From 6b62e9c77b2a45fd1d7084626f2bb2949e832e5f Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 26 Aug 2015 20:27:45 +0100 Subject: Separate FFmpegSubtitlePeriod. --- src/lib/ffmpeg.cc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/lib/ffmpeg.cc') diff --git a/src/lib/ffmpeg.cc b/src/lib/ffmpeg.cc index 1620b32b4..bba642484 100644 --- a/src/lib/ffmpeg.cc +++ b/src/lib/ffmpeg.cc @@ -246,3 +246,19 @@ FFmpeg::avio_seek (int64_t const pos, int whence) return _file_group.seek (pos, whence); } + +FFmpegSubtitlePeriod +FFmpeg::subtitle_period (AVSubtitle const & sub) +{ + ContentTime const packet_time = ContentTime::from_seconds (static_cast (sub.pts) / AV_TIME_BASE); + + if (sub.end_display_time == static_cast (-1)) { + /* End time is not known */ + return FFmpegSubtitlePeriod (packet_time + ContentTime::from_seconds (sub.start_display_time / 1e3)); + } + + return FFmpegSubtitlePeriod ( + packet_time + ContentTime::from_seconds (sub.start_display_time / 1e3), + packet_time + ContentTime::from_seconds (sub.end_display_time / 1e3) + ); +} -- cgit v1.2.3