]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
Revert "remove get parameters is not started"
authorBastian Dehn <hhaalo@arcor.de>
Sun, 25 Feb 2024 11:55:10 +0000 (12:55 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 25 Feb 2024 11:55:10 +0000 (12:55 +0100)
This reverts commit 351e411e1d8126bac233c13de1c57527ac0d0493.

src/kds_s2000w_net.c
tests/kds_s2000w_net_get_params_tests.c

index 0f9cfde326a6e121cae4bc95441b7401d2d3253e..f7fe53f50b1bf810ba29de844b15339a8ae47338 100644 (file)
@@ -124,10 +124,24 @@ SANE_Status _sane_kds_s2000w_net_get_parameters(SANE_Handle handle,
 {
        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;
 
-       metadata mdata;
        if (h->current_metadata->is_last) {
                memcpy(&mdata, h->current_metadata, sizeof(metadata));
 
index 5901a5ba0933ea58a94ebfe2341c91dd5713c4dc..34f50289ea6ac48fd06a379dd0c5797e66377bef 100644 (file)
@@ -34,7 +34,7 @@ START_TEST(kds_s2000w_net_get_parameters_with_image_data)
 
        ck_assert_int_eq(params.format, 1);
        ck_assert_int_eq(params.last_frame, 0);
-       ck_assert_int_eq(params.bytes_per_line, 42);
+       ck_assert_int_eq(params.bytes_per_line, 3240);
        ck_assert_int_eq(params.pixels_per_line, 1080);
        ck_assert_int_eq(params.lines, 100);
        ck_assert_int_eq(params.depth, 8);