rtpreleasestream.c

来自「linux环境下用纯c写的RTP协议的通用开发库」· C语言 代码 · 共 40 行

C
40
字号
/*------------------------------------------------------------------------- * rtpreleasestream.c - rtpreleasestream *------------------------------------------------------------------------- */#include <rtp.h>#include <rtcp.h>#include <hash.h>/*------------------------------------------------------------------------ * rtpreleasestream - decrement a streams refcnt and remove if necessary *------------------------------------------------------------------------ */intrtpreleasestream(struct session *psn, struct stream *pstm){	if (pthread_mutex_lock(&psn->sn_getstreammutex) != 0)		return ERROR;	pstm->stm_refcnt--;  	if (pstm->stm_refcnt == 0 && pstm->stm_zombie == TRUE) {		/*		 * Remove this stream from the Cname->SSRC mapping.		 */		rtcpcnamerem(psn, pstm);		/*		 * Remove this stream from the SSRC->struct stream *		 * hashtable. The htdel function will invoke		 * rtpdestroystream.		 */		htdel(psn->sn_ssrcs, pstm->stm_ssrc);	}	pthread_mutex_unlock(&psn->sn_getstreammutex);	return OK;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?