From 504c63b3d62038bc486ca8a09e77fbb403907edd Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 10 May 2016 14:29:14 +0100 Subject: Basics of splitting up Decoder tree like Content. --- src/lib/dcp_subtitle_decoder.cc | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/lib/dcp_subtitle_decoder.cc') diff --git a/src/lib/dcp_subtitle_decoder.cc b/src/lib/dcp_subtitle_decoder.cc index 964ee6f20..23f5dd529 100644 --- a/src/lib/dcp_subtitle_decoder.cc +++ b/src/lib/dcp_subtitle_decoder.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2014 Carl Hetherington + Copyright (C) 2014-2016 Carl Hetherington This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,10 +25,19 @@ using std::list; using std::cout; using boost::shared_ptr; +using boost::bind; DCPSubtitleDecoder::DCPSubtitleDecoder (shared_ptr content) - : SubtitleDecoder (content->subtitle) { + subtitle.reset ( + new SubtitleDecoder ( + this, + content->subtitle, + bind (&DCPSubtitleDecoder::image_subtitles_during, this, _1, _2), + bind (&DCPSubtitleDecoder::text_subtitles_during, this, _1, _2) + ) + ); + shared_ptr c (load (content->path (0))); _subtitles = c->subtitles (); _next = _subtitles.begin (); @@ -37,7 +46,7 @@ DCPSubtitleDecoder::DCPSubtitleDecoder (shared_ptr con void DCPSubtitleDecoder::seek (ContentTime time, bool accurate) { - SubtitleDecoder::seek (time, accurate); + subtitle->seek (time, accurate); _next = _subtitles.begin (); list::const_iterator i = _subtitles.begin (); @@ -68,7 +77,7 @@ DCPSubtitleDecoder::pass (PassReason, bool) ++_next; } - text_subtitle (p, s); + subtitle->text_subtitle (p, s); return false; } -- cgit v1.2.3