+ std::string _content;
+ /** The type of content that this Film represents (feature, trailer etc.) */
+ DCPContentType const * _dcp_content_type;
+ /** The format to present this Film in (flat, scope, etc.) */
+ Format const * _format;
+ /** The crop to apply to the source */
+ Crop _crop;
+ /** Video filters that should be used when generating DCPs */
+ std::vector<Filter const *> _filters;
+ /** Scaler algorithm to use */
+ Scaler const * _scaler;
+ /** Frames to trim off the start of the source */
+ SourceFrame _dcp_trim_start;
+ /** Frames to trim off the end of the source */
+ SourceFrame _dcp_trim_end;
+ /** true to create an A/B comparison DCP, where the left half of the image
+ is the video without any filters or post-processing, and the right half
+ has the specified filters and post-processing.
+ */
+ bool _dcp_ab;
+ /** An index into our _audio_streams vector for the stream to use for audio, or -1 if there is none */
+ int _audio_stream;
+ /** Gain to apply to audio in dB */
+ float _audio_gain;
+ /** Delay to apply to audio (positive moves audio later) in milliseconds */
+ int _audio_delay;
+ /** Duration to make still-sourced films (in seconds) */
+ int _still_duration;
+ /** An index into our _subtitle_streams vector for the stream to use for subtitles, or -1 if there is none */
+ int _subtitle_stream;
+ /** True if subtitles should be shown for this film */
+ bool _with_subtitles;
+ /** y offset for placing subtitles, in source pixels; +ve is further down
+ the frame, -ve is further up.
+ */
+ int _subtitle_offset;
+ /** scale factor to apply to subtitles */
+ float _subtitle_scale;
+
+ /* DCI naming stuff */
+ std::string _audio_language;
+ std::string _subtitle_language;
+ std::string _territory;
+ std::string _rating;
+ std::string _studio;
+ std::string _facility;
+ std::string _package_type;
+
+ /* Data which are cached to speed things up */
+
+ /** Vector of frame indices for each of our `thumbnails' */
+ std::vector<SourceFrame> _thumbs;
+ /** Size, in pixels, of the source (ignoring cropping) */
+ Size _size;
+ /** Actual length of the source (in video frames) from examining it */
+ boost::optional<SourceFrame> _length;
+ /** Sample rate of the source audio, in Hz */
+ int _audio_sample_rate;
+ /** MD5 digest of our content file */
+ std::string _content_digest;
+ /** true if the source has subtitles */
+ bool _has_subtitles;
+ /** the audio streams that the source has */
+ std::vector<AudioStream> _audio_streams;
+ /** the subtitle streams that the source has */
+ std::vector<SubtitleStream> _subtitle_streams;
+ /** Frames per second of the source */
+ float _frames_per_second;