-
- void examine (boost::shared_ptr<Film>, boost::shared_ptr<Job>, bool);
- std::string summary () const;
- std::string information () const;
- void as_xml (xmlpp::Node *) const;
- boost::shared_ptr<Content> clone () const;
- Time length (boost::shared_ptr<const Film>) const;
-
- /* AudioContent */
- int audio_channels () const;
- ContentAudioFrame audio_length () const;
- int content_audio_frame_rate () const;
- int output_audio_frame_rate (boost::shared_ptr<const Film>) const;
- AudioMapping audio_mapping () const;
-
- std::vector<FFmpegSubtitleStream> subtitle_streams () const {
- boost::mutex::scoped_lock lm (_mutex);
- return _subtitle_streams;
- }
-
- boost::optional<FFmpegSubtitleStream> subtitle_stream () const {
- boost::mutex::scoped_lock lm (_mutex);
- return _subtitle_stream;
- }
-
- std::vector<FFmpegAudioStream> audio_streams () const {
- boost::mutex::scoped_lock lm (_mutex);
- return _audio_streams;
- }
-
- boost::optional<FFmpegAudioStream> audio_stream () const {
- boost::mutex::scoped_lock lm (_mutex);
- return _audio_stream;
- }
-
- void set_subtitle_stream (FFmpegSubtitleStream);
- void set_audio_stream (FFmpegAudioStream);
-
+
+ void set_subtitle_stream (std::shared_ptr<FFmpegSubtitleStream>);
+
+ boost::optional<dcpomatic::ContentTime> first_video () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _first_video;
+ }
+
+ void signal_subtitle_stream_changed ();
+