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 */
struct ast_trans_pvt *next; /*!< next in translator chain */
struct timeval nextin;
struct timeval nextout;
+ unsigned int destroy:1;
};
/*! \brief generic frameout function */
* 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;
}
pvt = (struct ast_trans_pvt *) (((char *) fr) - offsetof(struct ast_trans_pvt, f));
- if (pvt->datalen != -1)
+ if (!pvt->destroy)
return;
destroy(pvt);