From cd10bd931a7f54a516255adc25cd5b6ab2f7a75a Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Wed, 21 Oct 2009 03:09:04 +0000 Subject: Merged revisions 224931 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r224931 | russell | 2009-10-20 21:59:54 -0500 (Tue, 20 Oct 2009) | 5 lines Isolate frames returned from a DSP instance or codec translator. The reasoning for these changes are the same as what I wrote in the commit message for rev 222878. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@224932 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/dsp.h | 12 ------------ include/asterisk/frame.h | 8 -------- include/asterisk/translate.h | 15 --------------- 3 files changed, 35 deletions(-) (limited to 'include/asterisk') diff --git a/include/asterisk/dsp.h b/include/asterisk/dsp.h index 8e6024cd4..bea0e6f5e 100644 --- a/include/asterisk/dsp.h +++ b/include/asterisk/dsp.h @@ -157,16 +157,4 @@ int ast_dsp_reload(void); */ int ast_dsp_init(void); -/*! - * \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 DAHDI - * 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 */ diff --git a/include/asterisk/frame.h b/include/asterisk/frame.h index 7246aad83..30de19a5f 100644 --- a/include/asterisk/frame.h +++ b/include/asterisk/frame.h @@ -128,14 +128,6 @@ enum ast_frame_type { enum { /*! This frame contains valid timing information */ AST_FRFLAG_HAS_TIMING_INFO = (1 << 0), - /*! This frame came from a translator and is still the original frame. - * The translator can not be free'd if the frame inside of it still has - * this flag set. */ - AST_FRFLAG_FROM_TRANSLATOR = (1 << 1), - /*! This frame came from a dsp and is still the original frame. - * The dsp cannot be free'd if the frame inside of it still has - * this flag set. */ - AST_FRFLAG_FROM_DSP = (1 << 2), }; /*! \brief Data structure associated with a single frame of data diff --git a/include/asterisk/translate.h b/include/asterisk/translate.h index 01841ee01..0e0eae1ec 100644 --- a/include/asterisk/translate.h +++ b/include/asterisk/translate.h @@ -151,7 +151,6 @@ struct ast_trans_pvt { struct ast_trans_pvt *next; /*!< next in translator chain */ struct timeval nextin; struct timeval nextout; - unsigned int destroy:1; }; /*! \brief generic frameout function */ @@ -257,20 +256,6 @@ unsigned int ast_translate_path_steps(unsigned int dest, unsigned int src); */ unsigned int ast_translate_available_formats(unsigned int dest, unsigned int src); -/*! - * \brief Hint that a frame from a translator has been freed - * - * This is sort of a hack. This function gets called when ast_frame_free() gets - * called on a frame that has the AST_FRFLAG_FROM_TRANSLATOR flag set. This is - * because it is possible for a translation path to be destroyed while a frame - * from a translator is still in use. Specifically, this happens if a masquerade - * happens after a call to ast_read() but before the frame is done being processed, - * since the frame processing is generally done without the channel lock held. - * - * \return nothing - */ -void ast_translate_frame_freed(struct ast_frame *fr); - #if defined(__cplusplus) || defined(c_plusplus) } #endif -- cgit v1.2.3