summaryrefslogtreecommitdiff
path: root/src/lib/ffmpeg_file_encoder.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2022-11-06 23:44:33 +0100
committerCarl Hetherington <cth@carlh.net>2022-11-06 23:44:33 +0100
commit9b94bc2c884289cc0b5125e918a115a342a12ff2 (patch)
treec097825581459a6a7565f993045765858e02c4fa /src/lib/ffmpeg_file_encoder.h
parentc42ce0e5b188d6fe0b022f1aec4fdcb04c4835f1 (diff)
Extract ImageStore.
Diffstat (limited to 'src/lib/ffmpeg_file_encoder.h')
-rw-r--r--src/lib/ffmpeg_file_encoder.h11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/lib/ffmpeg_file_encoder.h b/src/lib/ffmpeg_file_encoder.h
index f0b3eac8c..78840d6a8 100644
--- a/src/lib/ffmpeg_file_encoder.h
+++ b/src/lib/ffmpeg_file_encoder.h
@@ -27,6 +27,7 @@
#include "dcpomatic_time.h"
#include "encoder.h"
#include "event_history.h"
+#include "image_store.h"
#include "log.h"
#include <dcp/key.h>
#include <dcp/warnings.h>
@@ -80,9 +81,6 @@ private:
void audio_frame (int size);
- static void buffer_free(void* opaque, uint8_t* data);
- void buffer_free2(uint8_t* data);
-
AVCodec const * _video_codec = nullptr;
AVCodecContext* _video_codec_context = nullptr;
std::vector<std::shared_ptr<ExportAudioStream>> _audio_streams;
@@ -105,12 +103,7 @@ private:
std::shared_ptr<AudioBuffers> _pending_audio;
- /** Store of shared_ptr<Image> to keep them alive whilst raw pointers into
- their data have been passed to FFmpeg. The second part of the pair is
- a count of how many copies of the same key must be kept.
- */
- std::map<uint8_t*, std::pair<std::shared_ptr<const Image>, int>> _pending_images;
- boost::mutex _pending_images_mutex;
+ ImageStore _pending_images;
static int _video_stream_index;
static int _audio_stream_index_base;