diff options
| author | Carl Hetherington <cth@carlh.net> | 2024-07-27 23:08:58 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2024-07-28 00:59:29 +0200 |
| commit | 11b3b27de0454d5d66aa11c2d9d2a592f80eaaca (patch) | |
| tree | be6c53070a3a0f3b58bf894ef390e42d08686a03 | |
| parent | 6f6318e1860d665c1c0c30a9c5735e1355453088 (diff) | |
Cleanup: remove a shared_ptr use.
| -rw-r--r-- | src/mono_mpeg2_picture_frame.cc | 18 | ||||
| -rw-r--r-- | src/mono_mpeg2_picture_frame.h | 3 |
2 files changed, 9 insertions, 12 deletions
diff --git a/src/mono_mpeg2_picture_frame.cc b/src/mono_mpeg2_picture_frame.cc index 3c79a94c..6341ae4a 100644 --- a/src/mono_mpeg2_picture_frame.cc +++ b/src/mono_mpeg2_picture_frame.cc @@ -43,10 +43,10 @@ using namespace dcp; MonoMPEG2PictureFrame::MonoMPEG2PictureFrame(uint8_t const* data, int size) + : _buffer(size) { - _buffer = make_shared<ASDCP::MPEG2::FrameBuffer>(size); - memcpy(_buffer->Data(), data, size); - _buffer->Size(size); + memcpy(_buffer.Data(), data, size); + _buffer.Size(size); } @@ -57,11 +57,9 @@ MonoMPEG2PictureFrame::MonoMPEG2PictureFrame(uint8_t const* data, int size) * @param check_hmac true to check the HMAC and give an error if it is not as expected. */ MonoMPEG2PictureFrame::MonoMPEG2PictureFrame(ASDCP::MPEG2::MXFReader* reader, int n, shared_ptr<DecryptionContext> context, bool check_hmac) + : _buffer(4 * Kumu::Megabyte) { - /* XXX: unfortunate guesswork on this buffer size */ - _buffer = make_shared<ASDCP::MPEG2::FrameBuffer>(4 * Kumu::Megabyte); - - auto const r = reader->ReadFrame(n, *_buffer, context->context(), check_hmac ? context->hmac() : nullptr); + auto const r = reader->ReadFrame(n, _buffer, context->context(), check_hmac ? context->hmac() : nullptr); if (ASDCP_FAILURE(r)) { boost::throw_exception(ReadError(String::compose("could not read video frame %1 (%2)", n, static_cast<int>(r)))); @@ -72,20 +70,20 @@ MonoMPEG2PictureFrame::MonoMPEG2PictureFrame(ASDCP::MPEG2::MXFReader* reader, in uint8_t const * MonoMPEG2PictureFrame::data() const { - return _buffer->RoData(); + return _buffer.RoData(); } uint8_t * MonoMPEG2PictureFrame::data() { - return _buffer->Data(); + return _buffer.Data(); } int MonoMPEG2PictureFrame::size() const { - return _buffer->Size(); + return _buffer.Size(); } diff --git a/src/mono_mpeg2_picture_frame.h b/src/mono_mpeg2_picture_frame.h index 6a7669f7..d0ec7bfc 100644 --- a/src/mono_mpeg2_picture_frame.h +++ b/src/mono_mpeg2_picture_frame.h @@ -70,8 +70,7 @@ private: MonoMPEG2PictureFrame(ASDCP::MPEG2::MXFReader* reader, int n, std::shared_ptr<DecryptionContext>, bool check_hmac); - /* XXX why is this a shared_ptr? */ - std::shared_ptr<ASDCP::MPEG2::FrameBuffer> _buffer; + ASDCP::MPEG2::FrameBuffer _buffer; }; |
