* @brief Parent class for classes which can encode video and audio frames.
*/
-#include <iostream>
-#include <boost/lambda/lambda.hpp>
-#include <libcxml/cxml.h>
#include "encoder.h"
#include "util.h"
#include "film.h"
#include "server_finder.h"
#include "player.h"
#include "player_video.h"
+#include <libcxml/cxml.h>
+#include <boost/lambda/lambda.hpp>
+#include <iostream>
#include "i18n.h"
void
Encoder::add_worker_threads (ServerDescription d)
{
- LOG_GENERAL (N_("Adding %1 worker threads for remote %2"), d.host_name ());
+ LOG_GENERAL (N_("Adding %1 worker threads for remote %2"), d.threads(), d.host_name ());
for (int i = 0; i < d.threads(); ++i) {
_threads.push_back (new boost::thread (boost::bind (&Encoder::encoder_thread, this, d)));
}
_threads.push_back (new boost::thread (boost::bind (&Encoder::encoder_thread, this, optional<ServerDescription> ())));
}
- ServerFinder::instance()->connect (boost::bind (&Encoder::server_found, this, _1));
+ if (!ServerFinder::instance()->disabled ()) {
+ _server_found_connection = ServerFinder::instance()->connect (boost::bind (&Encoder::server_found, this, _1));
+ }
}
void
for (list<shared_ptr<DCPVideo> >::iterator i = _queue.begin(); i != _queue.end(); ++i) {
LOG_GENERAL (N_("Encode left-over frame %1"), (*i)->index ());
try {
- _writer->write ((*i)->encode_locally(), (*i)->index (), (*i)->eyes ());
+ _writer->write (
+ (*i)->encode_locally (boost::bind (&Log::dcp_log, _film->log().get(), _1, _2)),
+ (*i)->index (),
+ (*i)->eyes ()
+ );
frame_done ();
} catch (std::exception& e) {
LOG_ERROR (N_("Local encode failed (%1)"), e.what ());
} else {
try {
LOG_TIMING ("[%1] encoder thread begins local encode of %2", boost::this_thread::get_id(), vf->index());
- encoded = vf->encode_locally ();
+ encoded = vf->encode_locally (boost::bind (&Log::dcp_log, _film->log().get(), _1, _2));
LOG_TIMING ("[%1] encoder thread finishes local encode of %2", boost::this_thread::get_id(), vf->index());
} catch (std::exception& e) {
LOG_ERROR (N_("Local encode failed (%1)"), e.what ());