]> git.ipfire.org Git - thirdparty/HylaFAX.git/commitdiff
Bug 627: fix DCS error when sending to "mixed" scanline-time supporters
authorLee Howard <faxguy@howardsilvan.com>
Thu, 24 Feb 2005 18:23:45 +0000 (18:23 +0000)
committerLee Howard <faxguy@howardsilvan.com>
Thu, 24 Feb 2005 18:23:45 +0000 (18:23 +0000)
CHANGES
faxd/FaxSend.c++
man/faxsend.1m

diff --git a/CHANGES b/CHANGES
index 5f1c24af7df98b6f9685e9309970c3ee68e8b3b9..bcf069cea94c356687e3c2059d755eab6909977b 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,10 @@
 
 Changelog for HylaFAX
 
+* fix DCS scanline-time error when sending to systems without
+  ECM supporting "mixed" scanline-times (24 Feb 2005)
+* cause faxsend to log jobs in batches as separate commids (24 Feb 2005)
+* change how faxsend is invoked for batches (24 Feb 2005)
 * add batch failed detection for Brothers (23 Feb 2005)
 * minor fix in notify for mawk (16 Feb 2005)
 * fix a false V.34-Fax error message after FTT (16 Feb 2005)
index 965023196b51121d7d3fa1cb024123961c55034c..d98c742b67bfbcd9d8d06ce4a551c1548e91adf2 100644 (file)
@@ -521,11 +521,7 @@ FaxServer::sendClientCapabilitiesOK(FaxRequest& fax, FaxMachineInfo& clientInfo,
 #endif
 
     traceProtocol("USE %s", clientParams.bitRateName());
-    if (clientParams.ec != EC_DISABLE) {
-       traceProtocol("USE error correction mode");
-       clientParams.st = ST_0MS;       // T.30 Table 2 Note 8 - ECM imposes 0ms/scanline
-    }
-    traceProtocol("USE %s", clientParams.scanlineTimeName());
+    if (clientParams.ec != EC_DISABLE) traceProtocol("USE error correction mode");
     return (true);
 }
 
@@ -773,6 +769,24 @@ FaxServer::sendSetupParams1(TIFF* tif,
        params.ln = (len < 330 ? LN_A4 : LN_B4);
     } else
        params.ln = LN_INF;
+    /*
+     * Scanline time varies depending on the remote capabilities,
+     * upon ECM usage, and upon the resolution.  The MS2 parameters
+     * are not available in DCS.
+     */
+    if (params.st == ST_40MS2) {
+        if (params.vr) params.st = ST_20MS;
+        else params.st = ST_40MS;
+    }
+    if (params.st == ST_20MS2) {
+        if (params.vr) params.st = ST_10MS;
+        else params.st = ST_20MS;
+    }
+    if (params.st == ST_10MS2) {
+        if (params.vr) params.st = ST_5MS;
+        else params.st = ST_10MS;
+    }
+    if (params.ec != EC_DISABLE) params.st = ST_0MS;   // T.30 Table 2 Note 8 - ECM imposes 0ms/scanline
     return (send_ok);
 }
 
@@ -785,6 +799,7 @@ FaxServer::sendSetupParams(TIFF* tif, Class2Params& params, const FaxMachineInfo
        traceProtocol("USE %s", params.pageLengthName());
        traceProtocol("USE %s", params.verticalResName());
        traceProtocol("USE %s", params.dataFormatName());
+       traceProtocol("USE %s", params.scanlineTimeName());
     } else if (status == send_reformat) {
        traceServer(emsg);
     } else if (status == send_failed) {
index 8c6d574c815dc03aeb149815fe77cc38d3771885..16e8502ad48b5e8d305d85971d1ce89991c487d9 100644 (file)
@@ -42,7 +42,7 @@ faxsend \- \*(Fx facsimile transmit program
 ]
 .B \-m
 .I device-ID
-.I qfile[,qfile[,qfile[,...]]]
+.I qfile [qfile [qfile [...]]]
 .SH DESCRIPTION
 .I faxsend
 is the program that implements the facsimile transmission protocol