diff --git a/module/gmp-openh264.cpp b/module/gmp-openh264.cpp index bed75f13..202a33d2 100644 --- a/module/gmp-openh264.cpp +++ b/module/gmp-openh264.cpp @@ -261,6 +261,7 @@ class OpenH264VideoEncoder : public GMPVideoEncoder { assert (!frameTypes.empty()); if (frameTypes.empty()) { GMPLOG (GL_ERROR, "No frame types provided"); + inputImage->Destroy(); return GMPVideoGenericErr; } @@ -366,6 +367,7 @@ class OpenH264VideoEncoder : public GMPVideoEncoder { GMPVideoErr err = host_->CreateFrame (kGMPEncodedVideoFrame, &ftmp); if (err != GMPVideoNoErr) { GMPLOG (GL_ERROR, "Error creating encoded frame"); + frame->Destroy(); return; } @@ -389,6 +391,7 @@ class OpenH264VideoEncoder : public GMPVideoEncoder { if (err != GMPVideoNoErr) { GMPLOG (GL_ERROR, "Error allocating frame data"); f->Destroy(); + frame->Destroy(); return; }