/** * Check if the current call has an active audio stream * * @param call Call object * * @return True if active stream, otherwise false */ bool call_has_audio(const struct call *call) { if (!call) return false; return sdp_media_has_media(stream_sdpmedia(audio_strm(call->audio))); }
void stream_update(struct stream *s) { const struct sdp_format *fmt; int err = 0; if (!s) return; fmt = sdp_media_rformat(s->sdp, NULL); s->pt_enc = fmt ? fmt->pt : -1; if (sdp_media_has_media(s->sdp)) stream_remote_set(s); if (s->menc && s->menc->mediah) { err = s->menc->mediah(&s->mes, s->mencs, s->rtp, IPPROTO_UDP, rtp_sock(s->rtp), s->rtcp ? rtcp_sock(s->rtp) : NULL, s->sdp); if (err) { warning("stream: mediaenc update: %m\n", err); } } }
/** * Check if the current call has an active video stream * * @param call Call object * * @return True if active stream, otherwise false */ bool call_has_video(const struct call *call) { if (!call) return false; #ifdef USE_VIDEO return sdp_media_has_media(stream_sdpmedia(video_strm(call->video))); #else return false; #endif }