if (current_scan_status.mdata.format == 1)
channels = 3;
+ if (pnm_image.size > 0) {
+ free(pnm_image.data);
+ pnm_image.data = NULL;
+ pnm_image.size = 0;
+ }
+ if (current_scan_status.mdata.depth > 8) {
+ current_scan_status.mdata.depth = 8;
+ kds_s2000w_convert_jpg_to_pnm_With_depth(&image, &pnm_image, current_scan_status.mdata.depth);
+ } else {
+ kds_s2000w_convert_jpg_to_pnm(&image, &pnm_image);
+ }
+
+ current_scan_status.mdata.size = pnm_image.size;
+ printf("size of pnm image: %i\n", pnm_image.size);
+
if (current_scan_status.mdata.depth == 1)
current_scan_status.mdata.bytes_per_line = channels * ((current_scan_status.mdata.pixels_per_line + 7) / 8);
else
SANE_Status _sane_kds_s2000w_net_get_parameters(SANE_Handle handle,
SANE_Parameters* params)
{
+ printf("get parameters 1\n");
if (!scan_started)
return SANE_STATUS_GOOD;
+ printf("get parameters 2\n");
for (int i = 0; i < 10; i++) {
sleep(1);
current_metadata = kds_s2000w_handler_get_parameters();
break;
}
+ printf("get parameters 3\n");
if (!current_metadata.valid)
return SANE_STATUS_UNSUPPORTED;