]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
change convert method with tiff
authorBastian Dehn <hhaalo@arcor.de>
Sun, 28 Apr 2024 18:12:56 +0000 (20:12 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 28 Apr 2024 18:12:56 +0000 (20:12 +0200)
CMakeLists.txt
src/kds_s2000w_handler.c
src/kds_s2000w_image_converter.c
src/kds_s2000w_image_converter.h
tests/kds_s2000w_net_get_opt_tests.c
tests/kds_s2000w_net_read_tests.c
tests/kds_s2000w_net_tests.c
tests/kds_s2000w_read_config_tests.c

index 8bcaed9700073a53ec3a9da3bdf2e430d93287d0..b463696c3b8b06e0f96b0c3f3485513fb71d74be 100644 (file)
@@ -29,7 +29,7 @@ IF (RUN_TESTS)
 --wrap,kds_s2000w_client_status_session,\
 --wrap,kds_s2000w_client_get_image,\
 --wrap,kds_s2000w_client_get_metadata,\
---wrap,kds_s2000w_convert_jpg_to_pnm,\
+--wrap,kds_s2000w_convert_tiff_to_pnm,\
 --wrap,kds_s2000w_client_delete_image,\
 --wrap,kds_s2000w_client_set_option,\
 --wrap,load_config,\
index da021276893c830b9506b2d6638ffd5df9a64310..cbfc1374ff4dd5785f48ed0d9aefaa270877b499 100644 (file)
@@ -77,7 +77,7 @@ void _get_current_metadata(handler* h)
                h->current_metadata->depth = 8;
                kds_s2000w_convert_jpg_to_pnm_with_depth(jpg_image, pnm_image, h->current_metadata->depth);
        } else {
-               kds_s2000w_convert_jpg_to_pnm(jpg_image, pnm_image);
+               kds_s2000w_convert_tiff_to_pnm(jpg_image, pnm_image);
        }
 
        debug_printf_int(DEBUG, "size of pnm image", h->pnm_image->size);
index 36788017776037bb6761acea0d72d9face67a39d..31da7b455c843daaa4a0335965bca08a07883342 100644 (file)
@@ -13,24 +13,28 @@ void kds_s2000w_convert_terminate()
        MagickCoreTerminus();
 }
 
-void kds_s2000w_convert_jpg_to_pnm(blobdata* in, blobdata* out)
+void kds_s2000w_convert_to_pnm_with_depth(blobdata* in,
+       blobdata* out,
+       int depth,
+       const char* format)
 {
-       debug_printf(ALL, "kds_s2000w_convert_jpg_to_pnm");
-       kds_s2000w_convert_jpg_to_pnm_with_depth(in, out, -1);
-}
-
-void kds_s2000w_convert_jpg_to_pnm_with_depth(blobdata* in, blobdata* out, int depth)
-{
-       debug_printf(ALL, "kds_s2000w_convert_jpg_to_pnm_With_depth");
+       debug_printf(ALL, "kds_s2000w_convert_to_pnm_With_depth");
+       
        ExceptionInfo* exception = NULL;
        Image* input_image = NULL;
        ImageInfo* image_info = NULL;
+       char* streamname = NULL;
+       int str_length = 0;
 
        exception = AcquireExceptionInfo();
        image_info = CloneImageInfo(NULL);
-       const char* streamname = "streamin.jpg";
-       strcpy(image_info->filename, streamname);
+
+       str_length = 10 + strlen(format);
+       streamname = malloc(sizeof(char) * str_length);
+       snprintf(streamname, str_length, "streamin.%s", format);
+       memcpy(image_info->filename, streamname, str_length);
        input_image = BlobToImage(image_info, in->data, in->size , exception);
+       
        input_image->properties = NULL;
 
        if (exception->severity != UndefinedException)
@@ -39,6 +43,8 @@ void kds_s2000w_convert_jpg_to_pnm_with_depth(blobdata* in, blobdata* out, int d
        if (input_image == NULL) {
                DestroyImageInfo(image_info);
                DestroyExceptionInfo(exception);
+               free(streamname);
+               streamname = NULL;
                return;
        }
 
@@ -46,7 +52,7 @@ void kds_s2000w_convert_jpg_to_pnm_with_depth(blobdata* in, blobdata* out, int d
        DestroyExceptionInfo(exception);
        exception = AcquireExceptionInfo();
        image_info = CloneImageInfo(NULL);
-       strcpy(image_info->filename, "streamout.pnm");
+       memcpy(image_info->filename, "streamout.pnm", 14);
 
        if (depth > -1)
                SetImageDepth(input_image, depth);
@@ -56,4 +62,20 @@ void kds_s2000w_convert_jpg_to_pnm_with_depth(blobdata* in, blobdata* out, int d
        DestroyImageInfo(image_info);
        DestroyImage(input_image);
        DestroyExceptionInfo(exception);
+       free(streamname);
+       streamname = NULL;
+}
+
+void kds_s2000w_convert_jpg_to_pnm_with_depth(blobdata* in, blobdata* out, int depth)
+{
+       debug_printf(ALL, "kds_s2000w_convert_jpg_to_pnm_With_depth");
+       const char* extension = "jpg";
+       kds_s2000w_convert_to_pnm_with_depth(in, out, -1, extension);
+}
+
+void kds_s2000w_convert_tiff_to_pnm(blobdata* in, blobdata* out)
+{
+       const char* extension = "tiff";
+       debug_printf(ALL, "kds_s2000w_convert_tiff_to_pnm");
+       kds_s2000w_convert_to_pnm_with_depth(in, out, -1, extension);
 }
\ No newline at end of file
index b4d64e01ee8c3c7cd6056a0c82e31c9ee94d3d63..3ab8b3df47070c4adee1bda570d6d0017194a887 100644 (file)
@@ -8,6 +8,6 @@ typedef struct {
 
 void kds_s2000w_convert_terminate();
 
-void kds_s2000w_convert_jpg_to_pnm(blobdata* in, blobdata* out);
 void kds_s2000w_convert_jpg_to_pnm_with_depth(blobdata* in, blobdata* out, int depth);
+void kds_s2000w_convert_tiff_to_pnm(blobdata* in, blobdata* out);
 #endif
\ No newline at end of file
index a8af197d0e00cf7385614f4d7d686e2e2972882b..5e7c3271c65d2ce6dea974fde3224c5d14fdf94c 100644 (file)
@@ -14,7 +14,7 @@ void __wrap_load_config(program_config* config, const char* config_stream)
        return;
 }
 
-void __wrap_kds_s2000w_convert_jpg_to_pnm(blobdata* in, blobdata* out)
+void __wrap_kds_s2000w_convert_tiff_to_pnm(blobdata* in, blobdata* out)
 {
        return;
 }
index a24f259e8583f498cf70514a649b3d25137a0b94..43862d52f97b104783a4609e1435feb359a33057 100644 (file)
@@ -14,7 +14,7 @@ void __wrap_load_config(program_config* config, const char* config_stream)
        return;
 }
 
-void __wrap_kds_s2000w_convert_jpg_to_pnm(blobdata* in, blobdata* out)
+void __wrap_kds_s2000w_convert_tiff_to_pnm(blobdata* in, blobdata* out)
 {
        return;
 }
index 01702bd82bb424aa8ea87e88fdc83a23ae69293a..36985dacfabcbbfe24fa97dd1ae2d081413dc064 100644 (file)
@@ -17,7 +17,7 @@ void __wrap_load_config(program_config* config, const char* config_stream)
        config->username = "Max\0";
 }
 
-void __wrap_kds_s2000w_convert_jpg_to_pnm(blobdata* in, blobdata* out)
+void __wrap_kds_s2000w_convert_tiff_to_pnm(blobdata* in, blobdata* out)
 {
        return;
 }
index cbb2907fd2c7ed06a6b9aba0203ad8ae8ad7671e..8be70a64275cede322e34521df40fa0e3ae6f51e 100644 (file)
@@ -13,7 +13,7 @@ void __wrap_load_config(program_config* config, const char* config_stream)
        __real_load_config(config, config_stream);
 }
 
-void __wrap_kds_s2000w_convert_jpg_to_pnm(blobdata* in, blobdata* out)
+void __wrap_kds_s2000w_convert_tiff_to_pnm(blobdata* in, blobdata* out)
 {
        return;
 }