|
Added
Link Here
|
| 0 |
- |
1 |
--- plugins/fax/fax_spandsp/spandsp_fax.cpp.orig 2013-02-20 02:18:10 UTC |
|
|
2 |
+++ plugins/fax/fax_spandsp/spandsp_fax.cpp |
| 3 |
@@ -82,7 +82,7 @@ static PluginCodec_LogFunction LogFunction; |
| 4 |
LogFunction(level, __FILE__, __LINE__, "FaxCodec", strm.str().c_str()); \ |
| 5 |
} else (void)0 |
| 6 |
|
| 7 |
-static void SpanDSP_Message(int level, const char *text) |
| 8 |
+static void SpanDSP_Message(void *user_data, int level, const char *text) |
| 9 |
{ |
| 10 |
if (*text != '\0' && LogFunction != NULL) { |
| 11 |
if (level >= SPAN_LOG_DEBUG) |
| 12 |
@@ -117,7 +117,7 @@ static void SpanDSP_Message(int level, const char *tex |
| 13 |
|
| 14 |
static void InitLogging(logging_state_t * logging, const std::string & tag) |
| 15 |
{ |
| 16 |
- span_log_set_message_handler(logging, SpanDSP_Message); |
| 17 |
+ span_log_set_message_handler(logging, SpanDSP_Message, NULL); |
| 18 |
|
| 19 |
int level = SPAN_LOG_SHOW_SEVERITY | SPAN_LOG_SHOW_PROTOCOL | SPAN_LOG_DEBUG; |
| 20 |
|
| 21 |
@@ -807,7 +807,7 @@ class MyStats : private t30_stats_t (public) |
| 22 |
strm << "-1 (In progress)"; |
| 23 |
strm << "\n" |
| 24 |
"Bit Rate=" << stats.bit_rate << "\n" |
| 25 |
- "Encoding=" << stats.encoding << ' ' << CompressionNames[stats.encoding&3] << "\n" |
| 26 |
+ "Encoding=" << stats.compression << ' ' << CompressionNames[stats.compression&3] << "\n" |
| 27 |
"Error Correction=" << stats.error_correcting_mode << "\n" |
| 28 |
"Tx Pages=" << (stats.m_receiving ? -1 : stats.pages_tx) << "\n" |
| 29 |
"Rx Pages=" << (stats.m_receiving ? stats.pages_rx : -1) << "\n" |
| 30 |
@@ -839,25 +839,27 @@ class FaxTIFF : public FaxSpanDSP |
| 31 |
char m_phase; |
| 32 |
|
| 33 |
protected: |
| 34 |
+ t30_state_t * m_t30State; |
| 35 |
+ |
| 36 |
FaxTIFF() |
| 37 |
: m_receiving(false) |
| 38 |
, m_stationIdentifer("-") |
| 39 |
- , m_supported_image_sizes(T30_SUPPORT_US_LETTER_LENGTH | |
| 40 |
- T30_SUPPORT_US_LEGAL_LENGTH | |
| 41 |
- T30_SUPPORT_UNLIMITED_LENGTH | |
| 42 |
- T30_SUPPORT_A4_LENGTH | |
| 43 |
- T30_SUPPORT_B4_LENGTH | |
| 44 |
- T30_SUPPORT_215MM_WIDTH | |
| 45 |
- T30_SUPPORT_255MM_WIDTH | |
| 46 |
- T30_SUPPORT_303MM_WIDTH) |
| 47 |
- , m_supported_resolutions(T30_SUPPORT_STANDARD_RESOLUTION | |
| 48 |
- T30_SUPPORT_FINE_RESOLUTION | |
| 49 |
- T30_SUPPORT_SUPERFINE_RESOLUTION | |
| 50 |
- T30_SUPPORT_R8_RESOLUTION | |
| 51 |
- T30_SUPPORT_R16_RESOLUTION) |
| 52 |
- , m_supported_compressions(T30_SUPPORT_T4_1D_COMPRESSION | |
| 53 |
- T30_SUPPORT_T4_2D_COMPRESSION | |
| 54 |
- T30_SUPPORT_T6_COMPRESSION) |
| 55 |
+ , m_supported_image_sizes(T4_SUPPORT_LENGTH_US_LETTER | |
| 56 |
+ T4_SUPPORT_LENGTH_US_LEGAL | |
| 57 |
+ T4_SUPPORT_LENGTH_UNLIMITED | |
| 58 |
+ T4_SUPPORT_LENGTH_A4 | |
| 59 |
+ T4_SUPPORT_LENGTH_B4 | |
| 60 |
+ T4_SUPPORT_WIDTH_215MM | |
| 61 |
+ T4_SUPPORT_WIDTH_255MM | |
| 62 |
+ T4_SUPPORT_WIDTH_303MM) |
| 63 |
+ , m_supported_resolutions(T4_RESOLUTION_R8_STANDARD | |
| 64 |
+ T4_RESOLUTION_R8_FINE | |
| 65 |
+ T4_RESOLUTION_R8_SUPERFINE | |
| 66 |
+ T4_RESOLUTION_200_400 | |
| 67 |
+ T4_RESOLUTION_400_400) |
| 68 |
+ , m_supported_compressions(T4_COMPRESSION_T4_1D | |
| 69 |
+ T4_COMPRESSION_T4_2D | |
| 70 |
+ T4_COMPRESSION_T6) |
| 71 |
, m_phase('A') |
| 72 |
{ |
| 73 |
} |
| 74 |
@@ -932,6 +934,7 @@ class FaxTIFF : public FaxSpanDSP |
| 75 |
PTRACE(3, m_tag << " Set transmit TIFF file to \"" << m_tiffFileName << '"'); |
| 76 |
} |
| 77 |
|
| 78 |
+ m_t30State = t30state; |
| 79 |
t30_set_phase_b_handler(t30state, PhaseB, this); |
| 80 |
t30_set_phase_d_handler(t30state, PhaseD, this); |
| 81 |
t30_set_phase_e_handler(t30state, PhaseE, this); |
| 82 |
@@ -948,7 +951,7 @@ class FaxTIFF : public FaxSpanDSP |
| 83 |
|
| 84 |
t30_set_supported_modems(t30state, m_supported_modems); |
| 85 |
t30_set_supported_image_sizes(t30state, m_supported_image_sizes); |
| 86 |
- t30_set_supported_resolutions(t30state, m_supported_resolutions); |
| 87 |
+ t30_set_supported_bilevel_resolutions(t30state, m_supported_resolutions); |
| 88 |
t30_set_supported_compressions(t30state, m_supported_compressions); |
| 89 |
t30_set_ecm_capability(t30state, m_useECM); |
| 90 |
|
| 91 |
@@ -983,50 +986,50 @@ class FaxTIFF : public FaxSpanDSP |
| 92 |
bool IsReceiving() const { return m_receiving; } |
| 93 |
|
| 94 |
|
| 95 |
- static int PhaseB(t30_state_t * t30state, void * user_data, int result) |
| 96 |
+ static int PhaseB(void * user_data, int result) |
| 97 |
{ |
| 98 |
if (user_data != NULL) |
| 99 |
- ((FaxTIFF *)user_data)->PhaseB(t30state, result); |
| 100 |
+ ((FaxTIFF *)user_data)->PhaseB(result); |
| 101 |
return T30_ERR_OK; |
| 102 |
} |
| 103 |
|
| 104 |
- static int PhaseD(t30_state_t * t30state, void * user_data, int result) |
| 105 |
+ static int PhaseD(void * user_data, int result) |
| 106 |
{ |
| 107 |
if (user_data != NULL) |
| 108 |
- ((FaxTIFF *)user_data)->PhaseD(t30state, result); |
| 109 |
+ ((FaxTIFF *)user_data)->PhaseD(result); |
| 110 |
return T30_ERR_OK; |
| 111 |
} |
| 112 |
|
| 113 |
- static void PhaseE(t30_state_t * t30state, void * user_data, int result) |
| 114 |
+ static void PhaseE(void * user_data, int result) |
| 115 |
{ |
| 116 |
if (user_data != NULL) |
| 117 |
- ((FaxTIFF *)user_data)->PhaseE(t30state, result); |
| 118 |
+ ((FaxTIFF *)user_data)->PhaseE(result); |
| 119 |
} |
| 120 |
|
| 121 |
|
| 122 |
private: |
| 123 |
- void PhaseB(t30_state_t * t30state, int) |
| 124 |
+ void PhaseB(int) |
| 125 |
{ |
| 126 |
m_phase = 'B'; |
| 127 |
PTRACE(3, m_tag << " SpanDSP entered Phase B:\n" |
| 128 |
- << MyStats(t30state, m_completed, m_receiving, m_phase)); |
| 129 |
+ << MyStats(this->m_t30State, m_completed, m_receiving, m_phase)); |
| 130 |
} |
| 131 |
|
| 132 |
- void PhaseD(t30_state_t * t30state, int) |
| 133 |
+ void PhaseD(int) |
| 134 |
{ |
| 135 |
m_phase = 'D'; |
| 136 |
PTRACE(3, m_tag << " SpanDSP entered Phase D:\n" |
| 137 |
- << MyStats(t30state, m_completed, m_receiving, m_phase)); |
| 138 |
+ << MyStats(this->m_t30State, m_completed, m_receiving, m_phase)); |
| 139 |
} |
| 140 |
|
| 141 |
- void PhaseE(t30_state_t * t30state, int result) |
| 142 |
+ void PhaseE(int result) |
| 143 |
{ |
| 144 |
if (result >= 0) |
| 145 |
m_completed = true; // Finished, exit codec loops |
| 146 |
|
| 147 |
m_phase = 'E'; |
| 148 |
PTRACE(3, m_tag << " SpanDSP entered Phase E:\n" |
| 149 |
- << MyStats(t30state, m_completed, m_receiving, m_phase)); |
| 150 |
+ << MyStats(this->m_t30State, m_completed, m_receiving, m_phase)); |
| 151 |
} |
| 152 |
}; |
| 153 |
|