spandsp/spandsp-raise-traintime-tolerance.diff
Josef Möllers 23303cf5e5 Accepting request 714181 from home:frispete:telephony:asterisk
For some reason, I missed to submit this.
It's tested thoughoutly, and works very well so far..


- add patch spandsp-handle-international-dialstring-prefix.diff
  in order to support the international dialing prefix

- apply patch spandsp-raise-traintime-tolerance.diff
  as supplied with iaxmodem

OBS-URL: https://build.opensuse.org/request/show/714181
OBS-URL: https://build.opensuse.org/package/show/network:telephony/spandsp?expand=0&rev=34
2019-07-09 09:03:15 +00:00

21 lines
1.2 KiB
Diff

Raise v17 training time tolerance, as found in iaxmodem supplied spandsp.
diff -up -r spandsp-0.0.6/src/v17rx.c ../iaxmodem/iaxmodem-1.3.0/lib/spandsp/src/v17rx.c
--- a/src/v17rx.c 2016-02-07 02:24:28.000000000 +0100
+++ b/src/v17rx.c 2014-06-30 18:21:39.000000000 +0200
@@ -1046,10 +1046,10 @@ static void process_half_baud(v17_rx_sta
s->carrier_track_i = 100.0f;
s->carrier_track_p = 500000.0f;
#endif
- /* TODO: This was increased by a factor of 10 after studying real world failures.
- However, it is not clear why this is an improvement, If something gives
- a huge training error, surely it shouldn't decode too well? */
- if (s->training_error < (V17_TRAINING_SHORT_SEG_2_LEN - 8)*4.0f*constellation_spacing[s->space_map])
+ /* We need to be liberally accepting of poor fast-train training errors here.
+ Doing this affords the DTE the opportunity to make some use of whatever
+ valid Phase C data can be decoded. */
+ if (s->training_error < (V17_TRAINING_SHORT_SEG_2_LEN - 8)*10.0f*constellation_spacing[s->space_map])
{
s->training_count = 0;
if (s->bits_per_symbol == 2)