Fix: Prevent Asterisk from aborting when delivering ast_frames
authorAndreas Eversberg <jolly@eversberg.eu>
Sat, 18 Aug 2012 08:10:08 +0000 (10:10 +0200)
committerAndreas Eversberg <jolly@eversberg.eu>
Sun, 16 Dec 2012 09:10:34 +0000 (10:10 +0100)
chan_lcr.c

index a4b1a15..2278510 100644 (file)
@@ -2782,11 +2782,12 @@ static int lcr_write(struct ast_channel *ast, struct ast_frame *fr)
        call = ast_channel_tech_pvt(ast);
 #endif
        if (!call || !call->ref) {
+               /* drop the frame, if no ref exists, but return successfull delivery, or asterisk will abort connection */
                ast_mutex_unlock(&chan_lock);
                if (f != fr) {
                        ast_frfree(f);
                }
-               return -1;
+               return 0;
        }
        len = f->samples;
        p = *((unsigned char **)&(f->data));