projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Trying to create export audio encoders with between 9 and 15 channels
[dcpomatic.git]
/
src
/
lib
/
ffmpeg_file_encoder.h
diff --git
a/src/lib/ffmpeg_file_encoder.h
b/src/lib/ffmpeg_file_encoder.h
index 803125bd3cf677f487a0fd70f9134083fea6e0db..57f9135fa5e88e0a272ca8e601663374caebfd87 100644
(file)
--- a/
src/lib/ffmpeg_file_encoder.h
+++ b/
src/lib/ffmpeg_file_encoder.h
@@
-25,6
+25,7
@@
#include "event_history.h"
#include "audio_mapping.h"
#include "log.h"
#include "event_history.h"
#include "audio_mapping.h"
#include "log.h"
+#include <dcp/key.h>
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
@@
-38,18
+39,23
@@
public:
int video_frame_rate,
int audio_frame_rate,
int channels,
int video_frame_rate,
int audio_frame_rate,
int channels,
- boost::shared_ptr<Log> log,
ExportFormat,
int x264_crf,
boost::filesystem::path output
ExportFormat,
int x264_crf,
boost::filesystem::path output
+#ifdef DCPOMATIC_VARIANT_SWAROOP
+ , boost::optional<dcp::Key> key
+ , boost::optional<std::string> id
+#endif
);
);
- void video (boost::shared_ptr<PlayerVideo>, DCPTime);
+ void video (boost::shared_ptr<PlayerVideo>,
dcpomatic::
DCPTime);
void audio (boost::shared_ptr<AudioBuffers>);
void audio (boost::shared_ptr<AudioBuffers>);
- void subtitle (PlayerText, DCPTimePeriod);
+ void subtitle (PlayerText,
dcpomatic::
DCPTimePeriod);
void flush ();
void flush ();
+ static AVPixelFormat pixel_format (ExportFormat format);
+
private:
void setup_video ();
void setup_audio ();
private:
void setup_video ();
void setup_audio ();
@@
-77,7
+83,8
@@
private:
dcp::Size _video_frame_size;
int _video_frame_rate;
int _audio_frame_rate;
dcp::Size _video_frame_size;
int _video_frame_rate;
int _audio_frame_rate;
- boost::shared_ptr<Log> _log;
+
+ int64_t _audio_frames;
boost::shared_ptr<AudioBuffers> _pending_audio;
boost::shared_ptr<AudioBuffers> _pending_audio;
@@
-85,6
+92,7
@@
private:
their data have been passed to FFmpeg.
*/
std::map<uint8_t*, boost::shared_ptr<const Image> > _pending_images;
their data have been passed to FFmpeg.
*/
std::map<uint8_t*, boost::shared_ptr<const Image> > _pending_images;
+ boost::mutex _pending_images_mutex;
static int _video_stream_index;
static int _audio_stream_index;
static int _video_stream_index;
static int _audio_stream_index;