use correct deleter for data pointer

This commit is contained in:
uvos 2023-11-18 16:26:20 +01:00
parent 76bd00363b
commit ed44167c0e
2 changed files with 5 additions and 5 deletions

View File

@ -25,7 +25,7 @@ Image decompressJpegImage(const unsigned char* buffer, size_t size)
image.channels = info.num_components; // 3 = RGB, 4 = RGBA
// read RGB(A) scanlines one at a time into jdata[]
image.data = std::shared_ptr<unsigned char>(new unsigned char[image.size()], std::default_delete<int[]>());
image.data = std::shared_ptr<unsigned char>(new unsigned char[image.size()], std::default_delete<unsigned char[]>());
unsigned char* rowptr;
while(info.output_scanline < image.height)
{
@ -58,7 +58,7 @@ Image decompressJpegImage(FILE *file)
image.channels = info.num_components; // 3 = RGB, 4 = RGBA
// read RGB(A) scanlines one at a time into jdata[]
image.data = std::shared_ptr<unsigned char>(new unsigned char[image.size()], std::default_delete<int[]>());
image.data = std::shared_ptr<unsigned char>(new unsigned char[image.size()], std::default_delete<unsigned char[]>());
unsigned char* rowptr;
while ( info.output_scanline < image.height )
{

View File

@ -100,7 +100,7 @@ Webcam::Webcam(const string& device, int width, int height, bool mjpeg, bool pas
rgb_frame.width = xres;
rgb_frame.height = yres;
rgb_frame.channels = 3;
rgb_frame.data = std::shared_ptr<unsigned char>(new unsigned char[rgb_frame.size()], std::default_delete<int[]>());
rgb_frame.data = std::shared_ptr<unsigned char>(new unsigned char[rgb_frame.size()], std::default_delete<unsigned char[]>());
start_capturing();
}
@ -162,12 +162,12 @@ const Image& Webcam::frame(int timeout)
{
if(format == V4L2_PIX_FMT_YUYV)
{
rgb_frame.setBuffer(std::shared_ptr<unsigned char>(new unsigned char[buffers[idx].size], std::default_delete<int[]>()),
rgb_frame.setBuffer(std::shared_ptr<unsigned char>(new unsigned char[buffers[idx].size], std::default_delete<unsigned char[]>()),
buffers[idx].size, Image::FORMAT_YUYV);
}
else if(format == V4L2_PIX_FMT_MJPEG)
{
rgb_frame.setBuffer(std::shared_ptr<unsigned char>(new unsigned char[buffers[idx].size], std::default_delete<int[]>()),
rgb_frame.setBuffer(std::shared_ptr<unsigned char>(new unsigned char[buffers[idx].size], std::default_delete<unsigned char[]>()),
buffers[idx].size, Image::FORMAT_RGB);
}
else