summaryrefslogtreecommitdiff
path: root/src/lib/image.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-05-02 22:15:32 +0100
committerCarl Hetherington <cth@carlh.net>2013-05-02 22:15:32 +0100
commitfdd63a4c9925f0339089dce3a52f0d6ed0d97880 (patch)
treeab7c4f759ef49088be58a034851a438c57d5ffad /src/lib/image.cc
parent36fec15b78e6d5017c9f631bd2e828aa9ca91aa1 (diff)
Use newer format to specify filter graphs; don't filter unless necessary; fix tiny memory leak.
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);
}