- auto const frac = i->main_picture()->edit_rate ();
- float const fr = float(frac.numerator) / frac.denominator;
- if (!_video_frame_rate) {
- _video_frame_rate = fr;
- } else if (_video_frame_rate.get() != fr) {
- throw DCPError (_("Mismatched frame rates in DCP"));
- }
+ if (!reel->main_picture()->asset_ref().resolved()) {
+ LOG_GENERAL("Main picture %1 of reel %2 is missing", reel->main_picture()->id(), reel->id());
+ _needs_assets = true;
+ /* Use a dummy value here; it will be replaced when the VF is re-examined. */
+ _video_size = dcp::Size(1998, 1080);
+ } else {
+ LOG_GENERAL("Main picture %1 of reel %2 found", reel->main_picture()->id(), reel->id());
+
+ auto const frac = reel->main_picture()->edit_rate();
+ float const fr = float(frac.numerator) / frac.denominator;
+ if (!_video_frame_rate) {
+ _video_frame_rate = fr;
+ } else if (_video_frame_rate.get() != fr) {
+ throw DCPError (_("Mismatched frame rates in DCP"));
+ }