static apt_bool_t mpf_rtp_socket_pair_create(mpf_rtp_stream_t *stream, mpf_rtp_media_descriptor_t *local_media) { stream->rtp_socket = mpf_socket_create(&stream->rtp_l_sockaddr,local_media->ip.buf,local_media->port,stream->pool); if(!stream->rtp_socket) { apt_log(APT_LOG_MARK,APT_PRIO_DEBUG,"Failed to Create RTP Socket"); return FALSE; } stream->rtcp_socket = mpf_socket_create(&stream->rtcp_l_sockaddr,local_media->ip.buf,local_media->port+1,stream->pool); if(!stream->rtcp_socket) { apt_log(APT_LOG_MARK,APT_PRIO_DEBUG,"Failed to Create RTCP Socket"); } return TRUE; }
/* Create RTP/RTCP sockets */ static apt_bool_t mpf_rtp_socket_pair_create(mpf_rtp_stream_t *stream, mpf_rtp_media_descriptor_t *local_media, apt_bool_t bind) { /* Create and optionally bind RTP socket. Return FALSE in case of an error. */ if(mpf_socket_create(stream->pool,&stream->rtp_socket) == FALSE) { return FALSE; } if(bind == TRUE) { if(mpf_socket_bind(stream->rtp_socket,local_media->ip.buf,local_media->port,stream->pool,&stream->rtp_l_sockaddr) == FALSE) { apr_socket_close(stream->rtp_socket); stream->rtp_socket = NULL; return FALSE; } } /* Create and optionally bind RCTP socket. Continue in either way. */ if(mpf_socket_create(stream->pool,&stream->rtcp_socket) == TRUE && bind == TRUE) { if(mpf_socket_bind(stream->rtcp_socket,local_media->ip.buf,local_media->port+1,stream->pool,&stream->rtcp_l_sockaddr) == FALSE) { apr_socket_close(stream->rtcp_socket); stream->rtcp_socket = NULL; } } return TRUE; }