res_fax_spandsp: Use g711_free() when available.

Per Johann Steinwendtner on the asterisk-dev mailing list:

http://lists.digium.com/pipermail/asterisk-dev/2014-March/066102.html

g711_free() was introduced in spandsp 0.0.6pre4 and g711_release() became a
noop.  I opted not to remove the call to g711_release() since it is harmless
and to call g711_free() if we have a sufficiently recent version of spandsp.

(issue ASTERISK-20149)
Reported by: Alexandr Gordeev
........

Merged revisions 410829 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@410830 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Sean Bright
2014-03-18 11:51:24 +00:00
parent d0ede446ff
commit 693f2064e8

View File

@@ -677,6 +677,9 @@ static int spandsp_v21_detect(struct ast_fax_session *s, const struct ast_frame
ast_debug(5, "spandsp transcoding frame from %s to slinear for v21 detection\n", (f->subclass.format.id == AST_FORMAT_ALAW ? "G711_ALAW" : "G711_ULAW")); ast_debug(5, "spandsp transcoding frame from %s to slinear for v21 detection\n", (f->subclass.format.id == AST_FORMAT_ALAW ? "G711_ALAW" : "G711_ULAW"));
modem_connect_tones_rx(p->tone_state, slndata, f->samples); modem_connect_tones_rx(p->tone_state, slndata, f->samples);
g711_release(decoder); g711_release(decoder);
#if SPANDSP_RELEASE_DATE >= 20090220
g711_free(decoder);
#endif
ast_free(slndata); ast_free(slndata);
/* frame in other formats cannot be passed to spandsp, it could cause segfault */ /* frame in other formats cannot be passed to spandsp, it could cause segfault */