use correct deleter for data pointer
This commit is contained in:
@ -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 )
|
||||||
{
|
{
|
||||||
|
@ -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
|
||||||
|
Reference in New Issue
Block a user