HP-UX Multimedia Streaming Protocols (MSP) Programmer's Guide
char *sessionid;
int sessionidlen;
/* Create a SETUP RTSP Request Message */
err = rtsp_init_request_msg(RTSP_SETUP, setupurl, &reqmsg);
if( err!=RTSP_SUCCESS )
return err;
/* Initialize and fill up the Transport Header */
rtsp_init_xport_spec(&xspec);
xspec.xport_id = (uint8_t *)”RTP/AVP”;
xspec.ncast = RTSP_TRANSMIT_UNICAST;
xspec.cport.rtp = crtpport;
xspec.cport.rtcp = crtcpport;
/* Set the Transport RTSP Header in the Request Message */
err = rtsp_set_msg_hdr(reqmsg, RTSP_TRANSPORT_HDR,
&xspec, 0);
if( err!=RTSP_SUCCESS )
{
rtsp_free_msg(reqmsg);
return err;
}
/* Send the Request Message */
err = rtsp_send_msg(rtspconn, NULL, reqmsg, 0);
/* Free the resources allocated for the request message */
rtsp_free_msg(reqmsg);
/* Check for rtsp_send_msg errors */
if( err<0 )
return err;
/* Receive the response for the request Message. We pass
* NULL for channel and size argument since we are sure we
* would be receiving only a RTSP Message and not an
* interleaved media stream.
*/
err = rtsp_recv(rtspconn, &rspmsg, NULL, NULL);
if( err<0 )
return err;
/* Get Transport Header information from the Response */
err = rtsp_get_msg_hdr(rspmsg, RTSP_TRANSPORT_HDR,
&serverxspec, NULL);
if( err!=RTSP_SUCCESS )
{
rtsp_free_msg(rspmsg);
return err;
}
96 Sample Programs