}
+void
+DCPDecoder::pass_atmos(Frame frame)
+{
+ DCPOMATIC_ASSERT (_atmos_metadata);
+ auto const entry_point = (*_reel)->atmos()->entry_point().get_value_or(0);
+ atmos->emit (film(), _atmos_reader->get_frame(entry_point + frame), _offset + frame, *_atmos_metadata);
+}
+
+
Decoder::PassResult
DCPDecoder::pass ()
{
}
if (_atmos_reader) {
- DCPOMATIC_ASSERT (_atmos_metadata);
- auto const entry_point = (*_reel)->atmos()->entry_point().get_value_or(0);
- atmos->emit (film(), _atmos_reader->get_frame(entry_point + frame), _offset + frame, *_atmos_metadata);
+ pass_atmos(frame);
}
_next += ContentTime::from_frames (1, vfr);
void get_readers ();
void pass_video(Frame frame, dcp::Size size);
void pass_audio(Frame frame, double video_frame_rate);
+ void pass_atmos(Frame frame);
void pass_texts (dcpomatic::ContentTime next, dcp::Size size);
void pass_texts (
dcpomatic::ContentTime next,