summaryrefslogtreecommitdiff
path: root/src/lib/ffmpeg_encoder.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2017-07-26 17:08:00 +0100
committerCarl Hetherington <cth@carlh.net>2017-07-26 17:08:00 +0100
commit0302594838ce422afb3346ecc91a1bdfd26c00de (patch)
treed1087c24b51044ad4870c4b9017144d686b60852 /src/lib/ffmpeg_encoder.h
parente1093a718c15e1c9ca98abbf514ec54293f0723a (diff)
Basic multithread of DCP decryption during export.
Diffstat (limited to 'src/lib/ffmpeg_encoder.h')
-rw-r--r--src/lib/ffmpeg_encoder.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/lib/ffmpeg_encoder.h b/src/lib/ffmpeg_encoder.h
index 5ab59c12d..5e6dcecf7 100644
--- a/src/lib/ffmpeg_encoder.h
+++ b/src/lib/ffmpeg_encoder.h
@@ -28,6 +28,9 @@ extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
}
+#include <boost/thread/condition.hpp>
+
+class Butler;
class FFmpegEncoder : public Encoder
{
@@ -70,7 +73,7 @@ private:
AVDictionary* _video_options;
std::string _video_codec_name;
std::string _audio_codec_name;
- AudioMapping _audio_mapping;
+ int _output_audio_channels;
mutable boost::mutex _mutex;
DCPTime _last_time;
@@ -81,6 +84,12 @@ private:
boost::shared_ptr<AudioBuffers> _pending_audio;
+ mutable boost::mutex _queue_mutex;
+ boost::condition _queue_full;
+ std::list<std::pair<boost::shared_ptr<PlayerVideo>, DCPTime> > _queue;
+
+ boost::shared_ptr<Butler> _butler;
+
static int _video_stream_index;
static int _audio_stream_index;
};