#include <dcp/reel_picture_asset.h>
#include <dcp/reel_sound_asset.h>
#include <dcp/mono_picture_asset.h>
+#include <dcp/mono_picture_asset_reader.h>
#include <dcp/mono_picture_frame.h>
#include <dcp/stereo_picture_asset.h>
+#include <dcp/stereo_picture_asset_reader.h>
#include <dcp/stereo_picture_frame.h>
#include <dcp/sound_asset.h>
#include <iostream>
, _has_subtitles (false)
, _encrypted (false)
, _kdm_valid (false)
+ , _three_d (false)
{
dcp::DCP dcp (content->directory ());
dcp.read (false, 0, true);
for (list<shared_ptr<dcp::Reel> >::const_iterator i = reels.begin(); i != reels.end(); ++i) {
if ((*i)->main_picture ()) {
- dcp::Fraction const frac = (*i)->main_picture()->frame_rate ();
+ dcp::Fraction const frac = (*i)->main_picture()->edit_rate ();
float const fr = float(frac.numerator) / frac.denominator;
if (!_video_frame_rate) {
_video_frame_rate = fr;
shared_ptr<dcp::StereoPictureAsset> stereo = dynamic_pointer_cast<dcp::StereoPictureAsset> (asset);
if (mono) {
- mono->get_frame(0)->xyz_image ();
+ mono->start_read()->get_frame(0)->xyz_image ();
} else {
- stereo->get_frame(0)->xyz_image (dcp::EYE_LEFT);
+ stereo->start_read()->get_frame(0)->xyz_image (dcp::EYE_LEFT);
}
}
}
_standard = dcp.standard ();
+ _three_d = !reels.empty() && reels.front()->main_picture() &&
+ dynamic_pointer_cast<dcp::StereoPictureAsset> (reels.front()->main_picture()->asset());
}