/*
- Copyright (C) 2013-2014 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013-2015 Carl Hetherington <cth@carlh.net>
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
#ifndef DCPOMATIC_FFMPEG_CONTENT_H
#define DCPOMATIC_FFMPEG_CONTENT_H
-#include <boost/enable_shared_from_this.hpp>
-#include <boost/lexical_cast.hpp>
#include "video_content.h"
#include "audio_content.h"
#include "subtitle_content.h"
#include "audio_mapping.h"
+#include <boost/enable_shared_from_this.hpp>
+#include <boost/lexical_cast.hpp>
struct AVFormatContext;
struct AVStream;
class Filter;
class FFmpegSubtitleStream;
class FFmpegAudioStream;
-class ffmpeg_pts_offset_test;
+struct ffmpeg_pts_offset_test;
class FFmpegContentProperty : public VideoContentProperty
{
void examine (boost::shared_ptr<Job>);
std::string summary () const;
std::string technical_summary () const;
- std::string information () const;
void as_xml (xmlpp::Node *) const;
DCPTime full_length () const;
void set_audio_mapping (AudioMapping);
boost::filesystem::path audio_analysis_path () const;
+ /* SubtitleContent */
+ bool has_subtitles () const;
+
void set_filters (std::vector<Filter const *> const &);
std::vector<boost::shared_ptr<FFmpegSubtitleStream> > subtitle_streams () const {
return _first_video;
}
- bool has_subtitle_during (ContentTimePeriod) const;
+ std::list<ContentTimePeriod> subtitles_during (ContentTimePeriod, bool starting) const;
private:
- friend class ffmpeg_pts_offset_test;
+ friend struct ffmpeg_pts_offset_test;
std::vector<boost::shared_ptr<FFmpegSubtitleStream> > _subtitle_streams;
boost::shared_ptr<FFmpegSubtitleStream> _subtitle_stream;