diff --git a/libuvc_camera/src/camera_driver.cpp b/libuvc_camera/src/camera_driver.cpp index 9c882a342cea000ae6d72a60a30d9de83000c288..a6a415911ae810652d77e87464d990dcbedd91a9 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_);