summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2024-07-27 23:08:58 +0200
committerCarl Hetherington <cth@carlh.net>2024-07-28 00:59:29 +0200
commit11b3b27de0454d5d66aa11c2d9d2a592f80eaaca (patch)
treebe6c53070a3a0f3b58bf894ef390e42d08686a03
parent6f6318e1860d665c1c0c30a9c5735e1355453088 (diff)
Cleanup: remove a shared_ptr use.
-rw-r--r--src/mono_mpeg2_picture_frame.cc18
-rw-r--r--src/mono_mpeg2_picture_frame.h3
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;
};