summaryrefslogtreecommitdiff
path: root/src/lib/image.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/image.cc')
-rw-r--r--src/lib/image.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/image.cc b/src/lib/image.cc
index b97291585..1768be924 100644
--- a/src/lib/image.cc
+++ b/src/lib/image.cc
@@ -576,9 +576,10 @@ SimpleImage::aligned () const
return _aligned;
}
-FrameImage::FrameImage (AVFrame* frame)
+FrameImage::FrameImage (AVFrame* frame, bool own)
: Image (static_cast<AVPixelFormat> (frame->format))
, _frame (frame)
+ , _own (own)
{
_line_size = (int *) av_malloc (4 * sizeof (int));
_line_size[0] = _line_size[1] = _line_size[2] = _line_size[3] = 0;
@@ -590,7 +591,10 @@ FrameImage::FrameImage (AVFrame* frame)
FrameImage::~FrameImage ()
{
- av_frame_free (&_frame);
+ if (_own) {
+ av_frame_free (&_frame);
+ }
+
av_free (_line_size);
}