packet.c

struct pa_packet {
enum { PA_PACKET_APPENDED, PA_PACKET_DYNAMIC } type;
unsigned ref;
size_t length;
uint8_t *data;
};

■ struct pa_packet* pa_packet_new(size_t length)
内部申请的data,创建packet
■ struct pa_packet* pa_packet_new_dynamic(uint8_t* data, size_t length)
外部申请的data,创建packet
■ struct pa_packet* pa_packet_ref(struct pa_packet *p)
引用计数加1
■ void pa_packet_unref(struct pa_packet *p)
引用计数减1,如果为0,进行内存释放(PA_PACKET_DYNAMIC的data的释放)

原文地址:https://www.cnblogs.com/renhl/p/13058932.html