#include "util.h"
#include "film.h"
#include "log.h"
+#include "dcpomatic_log.h"
#include "config.h"
#include "dcp_video.h"
#include "cross.h"
#include "i18n.h"
-#define LOG_GENERAL(...) _film->log()->log (String::compose (__VA_ARGS__), LogEntry::TYPE_GENERAL);
-#define LOG_GENERAL_NC(...) _film->log()->log (__VA_ARGS__, LogEntry::TYPE_GENERAL);
-#define LOG_ERROR(...) _film->log()->log (String::compose (__VA_ARGS__), LogEntry::TYPE_ERROR);
-#define LOG_TIMING(...) _film->log()->log (String::compose (__VA_ARGS__), LogEntry::TYPE_TIMING);
-#define LOG_DEBUG_ENCODE(...) _film->log()->log (String::compose (__VA_ARGS__), LogEntry::TYPE_DEBUG_ENCODE);
-
using std::list;
using std::cout;
using boost::shared_ptr;
using boost::weak_ptr;
using boost::optional;
using dcp::Data;
+using namespace dcpomatic;
/** @param film Film that we are encoding.
* @param writer Writer that we are using.
LOG_GENERAL (N_("Encode left-over frame %1"), (*i)->index ());
try {
_writer->write (
- (*i)->encode_locally (boost::bind (&Log::dcp_log, _film->log().get(), _1, _2)),
- (*i)->index (),
- (*i)->eyes ()
+ (*i)->encode_locally(),
+ (*i)->index(),
+ (*i)->eyes()
);
frame_done ();
} catch (std::exception& e) {
LOG_DEBUG_ENCODE("Frame @ %1 FAKE", to_string(time));
_writer->fake_write (position, pv->eyes ());
frame_done ();
- } else if (pv->has_j2k ()) {
+ } else if (pv->has_j2k() && !_film->reencode_j2k()) {
LOG_DEBUG_ENCODE("Frame @ %1 J2K", to_string(time));
/* This frame already has J2K data, so just write it */
_writer->write (pv->j2k(), position, pv->eyes ());
position,
_film->video_frame_rate(),
_film->j2k_bandwidth(),
- _film->resolution(),
- _film->log()
+ _film->resolution()
)
));
} else {
try {
LOG_TIMING ("start-local-encode thread=%1 frame=%2", thread_id(), vf->index());
- encoded = vf->encode_locally (boost::bind (&Log::dcp_log, _film->log().get(), _1, _2));
+ encoded = vf->encode_locally ();
LOG_TIMING ("finish-local-encode thread=%1 frame=%2", thread_id(), vf->index());
} catch (std::exception& e) {
/* This is very bad, so don't cope with it, just pass it on */
}
}
- BOOST_FOREACH (EncodeServerDescription i, EncodeServerFinder::instance()->servers ()) {
+ BOOST_FOREACH (EncodeServerDescription i, EncodeServerFinder::instance()->servers()) {
+ if (!i.current_link_version()) {
+ continue;
+ }
+
LOG_GENERAL (N_("Adding %1 worker threads for remote %2"), i.threads(), i.host_name ());
for (int j = 0; j < i.threads(); ++j) {
_threads.push_back (new boost::thread (boost::bind (&J2KEncoder::encoder_thread, this, i)));