⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 synsources.c

📁 linux环境下用纯c写的RTP协议的通用开发库
💻 C
字号:
/*------------------------------------------------------------------------- * synsources.c - synsources *------------------------------------------------------------------------- */#include <syn.h>#include <stdlib.h>#include <rtp.h>#include <hash.h>/*------------------------------------------------------------------------ * synsources - fill array sources with list of IDs of streams turned on * at the synchronization layer. Returns number of SSRCs in list.  * Maxsources gives the size of the area pointed to by sources in  * sizeof(ssrc_t) (short) units. *------------------------------------------------------------------------ */intsynsources(struct synsession *pssn, ssrc_t *sources, int maxsources){	struct htent	**v;	int		htcount, i, count;	if (pthread_mutex_lock(&pssn->ssn_getstreammutex) != 0)		return ERROR;	if ((v = htenum(pssn->ssn_ssrcs)) == NULL) {		pthread_mutex_unlock(&pssn->ssn_getstreammutex);		return ERROR;	}	for (htcount = 0; v[htcount] != NULL; htcount++);	maxsources = min(maxsources, htcount);  	for (i = 0, count = 0; count < maxsources && i < htcount; i++)		if (((struct synstream *) v[i]->hte_object)->sstm_zombie != TRUE) {			sources[i] = v[i]->hte_key;			count++;		}  	pthread_mutex_unlock(&pssn->ssn_getstreammutex);	free(v);	return count;}

⌨️ 快捷键说明

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