From d4081360667c730f10f4d9d75e907fd81155634e Mon Sep 17 00:00:00 2001
From: Ken Tossell <ken@tossell.net>
Date: Sat, 11 Feb 2012 15:12:34 -0500
Subject: [PATCH] fix rgb_frame_ leak

---
 libuvc_camera/src/camera_driver.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libuvc_camera/src/camera_driver.cpp b/libuvc_camera/src/camera_driver.cpp
index 9c882a3..a6a4159 100644
--- a/libuvc_camera/src/camera_driver.cpp
+++ b/libuvc_camera/src/camera_driver.cpp
@@ -27,6 +27,8 @@ CameraDriver::~CameraDriver() {
 }
 
 bool CameraDriver::Start() {
+  assert(state_ == kInitial);
+
   uvc_error_t err;
 
   err = uvc_init(&ctx_, NULL);
@@ -187,6 +189,9 @@ void CameraDriver::OpenCamera(UVCCameraConfig &new_config) {
     return;
   }
 
+  if (rgb_frame_)
+    uvc_free_frame(rgb_frame_);
+
   rgb_frame_ = uvc_allocate_frame(new_config.width * new_config.height * 3);
   assert(rgb_frame_);
 
-- 
GitLab