hust_rtpsources.c

来自「实现基于ip2022的MPEG2 TS的IP组播接收」· C语言 代码 · 共 51 行

C
51
字号
/*------------------------------------------------------------------------- * rtpsources.c - rtpsources *------------------------------------------------------------------------- *//////#include <stdlib.h>#include "hust_rtp.h"#include "hust_hash.h"/*------------------------------------------------------------------------- * rtpsources - fill array sources with a list of synchronization sources * participating in the session and return list's length. * Maxsources gives the size of the area pointed to by sources in  * sizeof(ssrc_t) (short) units. *------------------------------------------------------------------------- */intrtpsources(struct session *psn, ssrc_t *sources, u16_t maxsources){	struct htent	**v;	int		htcount, i, count;	///if (pthread_mutex_lock(&psn->sn_getstreammutex) != 0)		///return ERROR;	if ((v = htenum(psn->sn_ssrcs)) == NULL) {		////pthread_mutex_unlock(&psn->sn_getstreammutex);		return ERROR;	}	////正确获得一个会话中所有的同步源		for (htcount = 0; v[htcount] != NULL; htcount++);  	maxsources = min(maxsources, htcount);	///数组的大小不能大于maxsources,否则溢出  	for (i = 0, count = 0; count < maxsources && i < htcount; i++)		if (((struct stream *) v[i]->hte_object)->stm_zombie != TRUE) {			sources[i] = v[i]->hte_key;			count++;		}		///sources中放的是哈希表的key	////pthread_mutex_unlock(&psn->sn_getstreammutex);	///free(v);	return maxsources;}/////把一个会话中的所有的同步源的key放到一个数组中/////并返回数组的大小

⌨️ 快捷键说明

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