Minor tweak to last spandsp change

This commit is contained in:
Steve Underwood 2013-01-26 03:30:21 +08:00
parent 7e79b37c0b
commit 36492e522b

View File

@ -1112,6 +1112,11 @@ static int process_rx_data(t38_core_state_t *t, void *user_data, int data_type,
hdlc_buf->contents = (data_type | FLAG_DATA); hdlc_buf->contents = (data_type | FLAG_DATA);
finalise_hdlc_frame(s, TRUE); finalise_hdlc_frame(s, TRUE);
} }
else
{
/* Just restart using the current frame buffer */
hdlc_buf->contents = 0;
}
/*endif*/ /*endif*/
xx->corrupt_current_frame[0] = FALSE; xx->corrupt_current_frame[0] = FALSE;
break; break;
@ -1132,24 +1137,19 @@ static int process_rx_data(t38_core_state_t *t, void *user_data, int data_type,
if (hdlc_buf->len > 0) if (hdlc_buf->len > 0)
{ {
span_log(&s->logging, SPAN_LOG_FLOW, "HDLC frame type %s - CRC bad\n", t30_frametype(hdlc_buf->buf[2])); span_log(&s->logging, SPAN_LOG_FLOW, "HDLC frame type %s - CRC bad\n", t30_frametype(hdlc_buf->buf[2]));
/* Only bother with frames that have a bad CRC, if they also have some content. */ if (hdlc_buf->contents != (data_type | FLAG_DATA))
if (hdlc_buf->len > 0)
{ {
if (hdlc_buf->contents != (data_type | FLAG_DATA)) queue_missing_indicator(s, data_type);
{ hdlc_buf = &s->core.hdlc_to_modem.buf[s->core.hdlc_to_modem.in];
queue_missing_indicator(s, data_type);
hdlc_buf = &s->core.hdlc_to_modem.buf[s->core.hdlc_to_modem.in];
}
/*endif*/
hdlc_buf->contents = (data_type | FLAG_DATA);
finalise_hdlc_frame(s, FALSE);
}
else
{
/* Just restart using the current frame buffer */
hdlc_buf->contents = 0;
} }
/*endif*/ /*endif*/
hdlc_buf->contents = (data_type | FLAG_DATA);
finalise_hdlc_frame(s, FALSE);
}
else
{
/* Just restart using the current frame buffer */
hdlc_buf->contents = 0;
} }
/*endif*/ /*endif*/
xx->corrupt_current_frame[0] = FALSE; xx->corrupt_current_frame[0] = FALSE;
@ -1200,6 +1200,11 @@ static int process_rx_data(t38_core_state_t *t, void *user_data, int data_type,
hdlc_buf->contents = (data_type | FLAG_DATA); hdlc_buf->contents = (data_type | FLAG_DATA);
finalise_hdlc_frame(s, TRUE); finalise_hdlc_frame(s, TRUE);
} }
else
{
/* Just restart using the current frame buffer */
hdlc_buf->contents = 0;
}
/*endif*/ /*endif*/
if (t->current_rx_data_type != data_type || t->current_rx_field_type != field_type) if (t->current_rx_data_type != data_type || t->current_rx_field_type != field_type)
{ {
@ -1232,18 +1237,13 @@ static int process_rx_data(t38_core_state_t *t, void *user_data, int data_type,
hdlc_buf = &s->core.hdlc_to_modem.buf[s->core.hdlc_to_modem.in]; hdlc_buf = &s->core.hdlc_to_modem.buf[s->core.hdlc_to_modem.in];
} }
/*endif*/ /*endif*/
/* Only bother with frames that have a bad CRC, if they also have some content. */ hdlc_buf->contents = (data_type | FLAG_DATA);
if (hdlc_buf->len > 0) finalise_hdlc_frame(s, FALSE);
{ }
hdlc_buf->contents = (data_type | FLAG_DATA); else
finalise_hdlc_frame(s, FALSE); {
} /* Just restart using the current frame buffer */
else hdlc_buf->contents = 0;
{
/* Just restart using the current frame buffer */
hdlc_buf->contents = 0;
}
/*endif*/
} }
/*endif*/ /*endif*/
if (t->current_rx_data_type != data_type || t->current_rx_field_type != field_type) if (t->current_rx_data_type != data_type || t->current_rx_field_type != field_type)