@ -3129,26 +3129,26 @@ static struct ast_frame *fax_gateway_framehook(struct ast_channel *chan, struct
/* in gateway mode, gateway some packets */
if ( gateway - > t38_state = = T38_STATE_NEGOTIATED ) {
struct ast_trans_pvt * readtrans ;
/* framehooks are called in __ast_read() before frame format
* translation is done , so we need to translate here */
if ( ( f - > frametype = = AST_FRAME_VOICE ) & & ( f - > subclass . format . id ! = AST_FORMAT_SLINEAR ) ) {
if ( ast_channel_readtrans ( active ) & & ( f = ast_translate ( ast_channel_readtrans ( active ) , f , 1 ) ) = = NULL ) {
if ( ( f - > frametype = = AST_FRAME_VOICE ) & & ( f - > subclass . format . id ! = AST_FORMAT_SLINEAR )
& & ( readtrans = ast_channel_readtrans ( active ) ) ) {
if ( ( f = ast_translate ( readtrans , f , 1 ) ) = = NULL ) {
f = & ast_null_frame ;
ao2_ref ( details , - 1 ) ;
return f ;
}
}
/* XXX we ignore the return value here, perhaps we should
* disable the gateway if a write fails . I am not sure how a
* write would fail , or even if a failure would be fatal so for
* now we ' ll just ignore the return value . */
gateway - > s - > tech - > write ( gateway - > s , f ) ;
if ( ( f - > frametype = = AST_FRAME_VOICE ) & & ( f - > subclass . format . id ! = AST_FORMAT_SLINEAR ) & & ast_channel_readtrans ( active ) ) {
/* Only free the frame if we translated / duplicated it - otherwise,
* let whatever is outside the frame hook do it */
/* XXX we ignore the return value here, perhaps we should
* disable the gateway if a write fails . I am not sure how a
* write would fail , or even if a failure would be fatal so for
* now we ' ll just ignore the return value . */
gateway - > s - > tech - > write ( gateway - > s , f ) ;
ast_frfree ( f ) ;
} else {
gateway - > s - > tech - > write ( gateway - > s , f ) ;
}
f = & ast_null_frame ;
ao2_ref ( details , - 1 ) ;
return f ;