summaryrefslogtreecommitdiff
path: root/src/lib/grok_context.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-07-07 21:32:23 +0200
committerCarl Hetherington <cth@carlh.net>2023-07-07 21:32:23 +0200
commitc55d070636a56b2feb4cf1cc5e5f438ad6dfccef (patch)
tree2acc06ac8ba6522f194345ff1bc2b0ae2676e5f9 /src/lib/grok_context.cc
parentf4370a5cb2d085a9a2f6396b9b6eec2cb9bdedbb (diff)
Use dcp::ArrayData instead of custom struct.grok
Diffstat (limited to 'src/lib/grok_context.cc')
-rw-r--r--src/lib/grok_context.cc39
1 files changed, 4 insertions, 35 deletions
diff --git a/src/lib/grok_context.cc b/src/lib/grok_context.cc
index 14df64c15..31363f012 100644
--- a/src/lib/grok_context.cc
+++ b/src/lib/grok_context.cc
@@ -20,6 +20,7 @@
#include "grok_context.h"
+#include <dcp/array_data.h>
using namespace grk_plugin;
@@ -114,38 +115,6 @@ GrokContext::GrokContext(const DcpomaticContext& dcpomaticContext)
, _messenger(nullptr)
, _launched(false)
{
- struct CompressedData : public dcp::Data
- {
- explicit CompressedData(int dataLen)
- : data_(new uint8_t[dataLen])
- , dataLen_(dataLen)
- {
- }
-
- ~CompressedData()
- {
- delete[] data_;
- }
-
- uint8_t const* data() const override
- {
- return data_;
- }
-
- uint8_t* data() override
- {
- return data_;
- }
-
- int size() const override
- {
- return dataLen_;
- }
-
- uint8_t* data_;
- int dataLen_;
- };
-
if (Config::instance()->enable_gpu()) {
DCPOMATIC_ASSERT(_dcpomatic_context.location);
boost::filesystem::path folder(*_dcpomatic_context.location);
@@ -165,9 +134,9 @@ GrokContext::GrokContext(const DcpomaticContext& dcpomaticContext)
auto compressedFrameLength = msg.next_uint();
auto processor =
[this](FrameProxy srcFrame, uint8_t* compressed, uint32_t compressedFrameLength) {
- auto compressedData = std::make_shared<CompressedData>(compressedFrameLength);
- memcpy(compressedData->data_, compressed, compressedFrameLength);
- _dcpomatic_context.writer.write(compressedData, srcFrame.index(), srcFrame.eyes());
+ auto compressed_data = std::make_shared<dcp::ArrayData>(compressedFrameLength);
+ memcpy(compressed_data->data(), compressed, compressedFrameLength);
+ _dcpomatic_context.writer.write(compressed_data, srcFrame.index(), srcFrame.eyes());
frame_done();
};
int const minimum_size = 16384;