diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-01-15 23:35:29 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-01-15 23:35:29 +0000 |
commit | f3a4d7c8f40c6f7300addfc66cf87ac9b9da037c (patch) | |
tree | 837844fe54af013f31e85dc2de244fb2d49e1927 | |
parent | b61a98675cbcec3ca5222907e1e08dce882a4d6e (diff) |
Clean up something I did for ABI compatability in 1.4
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@98945 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r-- | include/asterisk/translate.h | 9 | ||||
-rw-r--r-- | main/translate.c | 5 |
2 files changed, 4 insertions, 10 deletions
diff --git a/include/asterisk/translate.h b/include/asterisk/translate.h index b1f615f7f..97f10283f 100644 --- a/include/asterisk/translate.h +++ b/include/asterisk/translate.h @@ -138,13 +138,7 @@ struct ast_trans_pvt { struct ast_translator *t; struct ast_frame f; /*!< used in frameout */ int samples; /*!< samples available in outbuf */ - /*! - * \brief actual space used in outbuf - * - * Also, for the sake of ABI compatability, a magic value of -1 in this - * field means that the pvt has been requested to be destroyed, but is - * pending destruction until ast_translate_frame_freed() gets called. - */ + /*! \brief actual space used in outbuf */ int datalen; void *pvt; /*!< more private data, if any */ char *outbuf; /*!< the useful portion of the buffer */ @@ -152,6 +146,7 @@ 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 */ diff --git a/main/translate.c b/main/translate.c index 8bdaaf082..1af88ecfb 100644 --- a/main/translate.c +++ b/main/translate.c @@ -139,8 +139,7 @@ static void destroy(struct ast_trans_pvt *pvt) * When ast_frfree() gets called on that frame, this ast_trans_pvt * will get destroyed, too. */ - /* Set the magic hint that this has been requested to be destroyed. */ - pvt->datalen = -1; + pvt->destroy = 1; return; } @@ -898,7 +897,7 @@ void ast_translate_frame_freed(struct ast_frame *fr) pvt = (struct ast_trans_pvt *) (((char *) fr) - offsetof(struct ast_trans_pvt, f)); - if (pvt->datalen != -1) + if (!pvt->destroy) return; destroy(pvt); |