projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
WIP: VP9 encoder.
[dcpomatic.git]
/
src
/
lib
/
j2k_encoder.h
diff --git
a/src/lib/j2k_encoder.h
b/src/lib/j2k_encoder.h
index a52cf0d1fc44f264bc614b33877d32a1d79b981a..63228a6b8fac8cb7635de681bbabf4d5b14b46d2 100644
(file)
--- a/
src/lib/j2k_encoder.h
+++ b/
src/lib/j2k_encoder.h
@@
-29,9
+29,10
@@
#include "cross.h"
#include "cross.h"
+#include "enum_indexed_vector.h"
#include "event_history.h"
#include "exception_store.h"
#include "event_history.h"
#include "exception_store.h"
-#include "
util
.h"
+#include "
writer
.h"
#include <boost/optional.hpp>
#include <boost/signals2.hpp>
#include <boost/thread.hpp>
#include <boost/optional.hpp>
#include <boost/signals2.hpp>
#include <boost/thread.hpp>
@@
-46,7
+47,6
@@
class EncodeServerDescription;
class Film;
class Job;
class PlayerVideo;
class Film;
class Job;
class PlayerVideo;
-class Writer;
/** @class J2KEncoder
/** @class J2KEncoder
@@
-55,10
+55,10
@@
class Writer;
* This class keeps a queue of frames to be encoded and distributes
* the work around threads and encoding servers.
*/
* This class keeps a queue of frames to be encoded and distributes
* the work around threads and encoding servers.
*/
-class J2KEncoder : public ExceptionStore
, public std::enable_shared_from_this<J2KEncoder>
+class J2KEncoder : public ExceptionStore
{
public:
{
public:
- J2KEncoder
(std::shared_ptr<const Film> film, std::shared_ptr<Writer>
writer);
+ J2KEncoder
(std::shared_ptr<const Film> film, Writer&
writer);
~J2KEncoder ();
J2KEncoder (J2KEncoder const&) = delete;
~J2KEncoder ();
J2KEncoder (J2KEncoder const&) = delete;
@@
-80,8
+80,6
@@
public:
private:
private:
- static void call_servers_list_changed (std::weak_ptr<J2KEncoder> encoder);
-
void frame_done ();
void encoder_thread (boost::optional<EncodeServerDescription>);
void frame_done ();
void encoder_thread (boost::optional<EncodeServerDescription>);
@@
-102,10
+100,10
@@
private:
/** condition to manage thread wakeups when we have too much to do */
boost::condition _full_condition;
/** condition to manage thread wakeups when we have too much to do */
boost::condition _full_condition;
-
std::shared_ptr<Writer>
_writer;
+
Writer&
_writer;
Waker _waker;
Waker _waker;
-
std::shared_ptr<PlayerVideo> _last_player_video[static_cast<int>(Eyes::COUNT)]
;
+
EnumIndexedVector<std::shared_ptr<PlayerVideo>, Eyes> _last_player_video
;
boost::optional<dcpomatic::DCPTime> _last_player_video_time;
boost::signals2::scoped_connection _server_found_connection;
boost::optional<dcpomatic::DCPTime> _last_player_video_time;
boost::signals2::scoped_connection _server_found_connection;