www.pudn.com > RTP通用开发库(for Linux).rar > syngetstream.c
/*------------------------------------------------------------------------- * syngetstream.c - syngetstream *------------------------------------------------------------------------- */ #include#include #include /*------------------------------------------------------------------------ * syngetstream - lookup stream by SSRC ID and increment reference count *------------------------------------------------------------------------ */ struct synstream * syngetstream(struct synsession *pssn, ssrc_t ssrc) { struct synstream *psstm; if (pthread_mutex_lock(&pssn->ssn_getstreammutex) != 0) return NULL; psstm = (struct synstream *) htget(pssn->ssn_ssrcs, ssrc); if (psstm == NULL || psstm->sstm_zombie == TRUE) { pthread_mutex_unlock(&pssn->ssn_getstreammutex); return NULL; } psstm->sstm_refcnt++; pthread_mutex_unlock(&pssn->ssn_getstreammutex); return psstm; }