aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordhubbard <dhubbard@f38db490-d61c-443f-a65b-d21fe96a405b>2009-02-20 20:29:00 +0000
committerdhubbard <dhubbard@f38db490-d61c-443f-a65b-d21fe96a405b>2009-02-20 20:29:00 +0000
commiteda3be6fb73851d9efb8783cdcdf9fd36b82eeca (patch)
tree42785911ac683f53c0de1f6ec44312f45ef106f5
parent9d13514f5d1d891a6c69e627f330670cefa64992 (diff)
Make app_fax compatible with spandsp-0.0.6pre4
Prior to spandsp-0.0.6pre4 the t30_stats_t structure used a pages_transferred integer to indicate the number of pages transferred (so far) during the fax session. The spandsp-0.0.6pre4 release removed the pages_transferred integer and replaced it with two different integers - pages_tx and pages_rx. This revision uses the new integers for spandsp-0.0.6pre4 while maintaining backwards compatibility for previous spandsp releases. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@177699 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--apps/app_fax.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/apps/app_fax.c b/apps/app_fax.c
index b7031acf9..ed7fe16e6 100644
--- a/apps/app_fax.c
+++ b/apps/app_fax.c
@@ -206,6 +206,7 @@ static void phase_e_handler(t30_state_t *f, void *user_data, int result)
char buf[20];
fax_session *s = (fax_session *) user_data;
t30_stats_t stat;
+ int pages_transferred;
ast_debug(1, "Fax phase E handler. result=%d\n", result);
@@ -231,7 +232,12 @@ static void phase_e_handler(t30_state_t *f, void *user_data, int result)
pbx_builtin_setvar_helper(s->chan, "FAXSTATUS", "SUCCESS");
pbx_builtin_setvar_helper(s->chan, "FAXERROR", NULL);
pbx_builtin_setvar_helper(s->chan, "REMOTESTATIONID", far_ident);
- snprintf(buf, sizeof(buf), "%d", stat.pages_transferred);
+#if SPANDSP_RELEASE_DATE >= 20090220
+ pages_transferred = (s->direction) ? stat.pages_tx : stat.pages_rx;
+#else
+ pages_transferred = stat.pages_transferred;
+#endif
+ snprintf(buf, sizeof(buf), "%d", pages_transferred);
pbx_builtin_setvar_helper(s->chan, "FAXPAGES", buf);
snprintf(buf, sizeof(buf), "%d", stat.y_resolution);
pbx_builtin_setvar_helper(s->chan, "FAXRESOLUTION", buf);
@@ -240,7 +246,7 @@ static void phase_e_handler(t30_state_t *f, void *user_data, int result)
ast_debug(1, "Fax transmitted successfully.\n");
ast_debug(1, " Remote station ID: %s\n", far_ident);
- ast_debug(1, " Pages transferred: %d\n", stat.pages_transferred);
+ ast_debug(1, " Pages transferred: %d\n", pages_transferred);
ast_debug(1, " Image resolution: %d x %d\n", stat.x_resolution, stat.y_resolution);
ast_debug(1, " Transfer Rate: %d\n", stat.bit_rate);
@@ -260,7 +266,7 @@ static void phase_e_handler(t30_state_t *f, void *user_data, int result)
S_OR(s->chan->cid.cid_num, ""),
far_ident,
local_ident,
- stat.pages_transferred,
+ pages_transferred,
stat.y_resolution,
stat.bit_rate,
s->file_name);