h->current_metadata->bytes_per_line = h->current_metadata->channels * h->current_metadata->pixels_per_line * h->current_metadata->depth / 8;
h->current_metadata->valid = 1;
- h->current_metadata->is_last = 0;
+ h->current_metadata->is_last = 1;
metadata = NULL;
kds_s2000w_client_response_free(resp);
h->current_scan_status->complete_scanned = 0;
h->current_metadata->format = 1;
h->current_metadata->channels = 3;
- h->current_metadata->is_last = 0;
+ h->current_metadata->is_last = 1;
h->current_metadata->size = 0;
h->current_metadata->bytes_per_line = 0;
h->current_metadata->pixels_per_line = 0;
debug_printf(ALL, "sane_kds_s2000w_net_get_parameters");
handler* h = (handler*) handle;
metadata mdata;
- memcpy(&mdata, h->current_metadata, sizeof(metadata));
-
- if (h->current_metadata->depth == 1)
- h->current_metadata->bytes_per_line = h->current_metadata->channels * floor((h->current_metadata->pixels_per_line + 7) / 8);
- else
- h->current_metadata->bytes_per_line = h->current_metadata->channels * h->current_metadata->pixels_per_line * h->current_metadata->depth / 8;
-
- params->format = mdata.format;
- params->last_frame = mdata.is_last;
- params->bytes_per_line = mdata.bytes_per_line;
- params->pixels_per_line = mdata.pixels_per_line;
- params->lines = mdata.lines;
- params->depth = mdata.depth;
-
if (!h->read_info->scan_started)
return SANE_STATUS_GOOD;
- if (h->current_metadata->is_last) {
- memcpy(&mdata, h->current_metadata, sizeof(metadata));
-
- params->format = mdata.format;
- params->last_frame = mdata.is_last;
- params->bytes_per_line = mdata.bytes_per_line;
- params->pixels_per_line = mdata.pixels_per_line;
- params->lines = mdata.lines;
- params->depth = mdata.depth;
- h->current_metadata->is_last = 0;
-
- h->read_info->read_size = 0;
- h->read_info->readed_bytes_per_line = 0;
- h->read_info->readed_lines = 0;
-
- return SANE_STATUS_GOOD;
- }
-
for (int i = 0; i < 10; i++) {
sleep(1);
kds_s2000w_handler_get_parameters(h);
ck_assert_int_eq(params.format, 1);
ck_assert_int_eq(params.last_frame, 0);
- ck_assert_int_eq(params.bytes_per_line, 3240);
+ ck_assert_int_eq(params.bytes_per_line, 42);
ck_assert_int_eq(params.pixels_per_line, 1080);
ck_assert_int_eq(params.lines, 100);
ck_assert_int_eq(params.depth, 8);