+ boost::optional<ContentTime> _first_video;
+ /** Video length, either obtained from the header or derived by running
+ * through the whole file.
+ */
+ Frame _video_length;
+ bool _need_video_length;
+
+ struct SubtitleStart
+ {
+ SubtitleStart (std::string id_, bool image_, ContentTime time_)
+ : id (id_)
+ , image (image_)
+ , time (time_)
+ {}
+
+ std::string id;
+ /** true if it's an image subtitle, false for text */
+ bool image;
+ ContentTime time;
+ };
+
+ typedef std::map<boost::shared_ptr<FFmpegSubtitleStream>, boost::optional<SubtitleStart> > LastSubtitleMap;
+ LastSubtitleMap _last_subtitle_start;