using boost::weak_ptr;
using boost::dynamic_pointer_cast;
using boost::optional;
+using namespace dcpomatic;
/** Construct a DCP encoder.
* @param film Film that we are encoding.
void
DCPEncoder::video (shared_ptr<PlayerVideo> data, DCPTime time)
{
- if (!_film->three_d() && data->eyes() == EYES_LEFT) {
- /* Use left-eye images for both eyes */
- data->set_eyes (EYES_BOTH);
+ if (!_film->three_d()) {
+ if (data->eyes() == EYES_LEFT) {
+ /* Use left-eye images for both eyes... */
+ data->set_eyes (EYES_BOTH);
+ } else if (data->eyes() == EYES_RIGHT) {
+ /* ...and discard the right */
+ return;
+ }
}
_j2k_encoder->encode (data, time);
}
}
-float
+optional<float>
DCPEncoder::current_rate () const
{
if (!_j2k_encoder) {
- return 0;
+ return optional<float>();
}
return _j2k_encoder->current_encoding_rate ();