]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Add prototype for ast_dsp_frame_freed. I'm not sure how this was
authorMark Michelson <mmichelson@digium.com>
Thu, 17 Apr 2008 16:50:46 +0000 (16:50 +0000)
committerMark Michelson <mmichelson@digium.com>
Thu, 17 Apr 2008 16:50:46 +0000 (16:50 +0000)
compiling before...

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114211 65c4cc65-6c06-0410-ace0-fbb531ad65f3

include/asterisk/dsp.h
main/frame.c

index b34701f3017cdecfa7f3e9f6fdecea80d5ef100e..ccc484c1426d22a6b5bf8119b3a0591e58d1109b 100644 (file)
@@ -108,4 +108,17 @@ int ast_dsp_get_tstate(struct ast_dsp *dsp);
 /*! \brief Get tcount (Threshold counter) */
 int ast_dsp_get_tcount(struct ast_dsp *dsp);
 
+/*!
+ * \brief Hint that a frame from a dsp was freed
+ *
+ * This is called from ast_frame_free if AST_FRFLAG_FROM_DSP is set. This occurs
+ * because it is possible for the dsp to be freed while someone still holds a reference
+ * to the frame that is in that dsp. This has been known to happen when the dsp on a Zap
+ * channel detects a busy signal. The channel is hung up, and the application that read the
+ * frame to begin with still has a reference to the frame.
+ *
+ * \return nothing
+ */
+void ast_dsp_frame_freed(struct ast_frame *fr);
+
 #endif /* _ASTERISK_DSP_H */
index d2240efb01b4f6d656adac37b0dec266b5a34b6b..45dafeb3d229d2696824afda49640d51a7380683 100644 (file)
@@ -44,6 +44,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/threadstorage.h"
 #include "asterisk/linkedlists.h"
 #include "asterisk/translate.h"
+#include "asterisk/dsp.h"
 
 #ifdef TRACE_FRAMES
 static int headers;