HP-UX Multimedia Streaming Protocols (MSP) Programmer's Guide
}
RTCPport = RTPport + 1;
addr[0].sin_family=AF_INET;
inet_pton(AF_INET,caddr,&addr[0].sin_addr.s_addr);
addr[0].sin_port=RTPport;
addr[1].sin_family=AF_INET;
inet_pton(AF_INET,caddr,&addr[1].sin_addr.s_addr);
addr[1].sin_port=RTCPport;
rd = rtp_open((char*)addr, (char*)(addr+1));
if(rd>0)
{
printf(“ tOpened RTP descriptor %d n”
“ tReceiving RTP packets on port %d n”
“ tand RTCP packets on port %d n”
,rd
,addr[0].sin_port
,addr[1].sin_port
);
}
else
{
fprintf(stderr,”rtp_open() failed n”);
exit(1);
}
remRTCPport=remRTPport+1;
sin.sin_family=AF_INET;
sin.sin_port=remRTPport;
sin.sin_addr.s_addr=inet_addr(destaddr);
if(sin.sin_addr.s_addr < 0)
{
fprintf(stderr,”The destination address %s is not valid n”,destaddr);
exit(1);
}
ret = rtp_ioctl(rd,RTP_SSENDTOADDR,&sin);
if(ret<0)
{
fprintf(stderr,”could not add %s to the RTP SENDTO list n”,destaddr);
}
else
printf(“ tDestination %s:%d addded to RTP SENDTO list n”
,destaddr
,remRTPport
);
sin.sin_port=remRTCPport;
ret = rtp_ioctl(rd,RTCP_SSENDTOADDR,&sin);
if(ret<0)
{
fprintf(stderr,”could not add %s to the RTCP SENDTO list n”,destaddr);
}
else
printf(“ tDestination %s:%d addded to RTCP SENDTO list n”
,destaddr
,remRTCPport
RTP Sample Program 87