use correct deleter for data pointer

This commit is contained in:
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 image.channels = info.num_components; // 3 = RGB, 4 = RGBA
// read RGB(A) scanlines one at a time into jdata[] // 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; unsigned char* rowptr;
while(info.output_scanline < image.height) while(info.output_scanline < image.height)
{ {
@ -58,7 +58,7 @@ Image decompressJpegImage(FILE *file)
image.channels = info.num_components; // 3 = RGB, 4 = RGBA image.channels = info.num_components; // 3 = RGB, 4 = RGBA
// read RGB(A) scanlines one at a time into jdata[] // 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; unsigned char* rowptr;
while ( info.output_scanline < image.height ) 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.width = xres;
rgb_frame.height = yres; rgb_frame.height = yres;
rgb_frame.channels = 3; 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(); start_capturing();
} }
@ -162,12 +162,12 @@ const Image& Webcam::frame(int timeout)
{ {
if(format == V4L2_PIX_FMT_YUYV) 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); buffers[idx].size, Image::FORMAT_YUYV);
} }
else if(format == V4L2_PIX_FMT_MJPEG) 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); buffers[idx].size, Image::FORMAT_RGB);
} }
else else