HP-UX Multimedia Streaming Protocols (MSP) Programmer's Guide

void
print_session_level_fields(sdp_t *sdp)
{
sdp_email_list_t *semail;
printf( nSession Name: %s n, sdp->s_name);
printf(Session Information: %s n, sdp->i_info);
semail = sdp->email;
printf(Email: );
if (semail != NULL) {
do {
printf(%s n, semail->e_email);
semail = semail->next;
} while (semail != NULL);
}
printf(URI: %s n n, sdp->u_uri);
return;
}
void
print_media_descriptions(sdp_t *sdp)
{
sdp_media_list_t *mdes;
mdes = sdp->media_des;
if (mdes != NULL) {
do {
printf(Media Title: %s n, mdes->i_info);
mdes = mdes->next;
} while (mdes != NULL);
}
return;
}
void
print_media_attributes(sdp_t *sdp)
{
int i, count = 0;
char sbuf[SDP_BUFSIZE];
char *stream[SDP_BUFSIZE];
stream[0] = NULL;
stream[1] = NULL;
stream[2] = NULL;
count = parse_media(sdp, sbuf, stream);
printf( nMedia Attributes: n);
for(i=0; i<=count; i++) {
printf(%s n, stream[i]);
}
return;
}
int
parse_media(sdp_t *sdp, char *sdpbuf, char **stream)
{
sdp_attribute_list_t *media_attr = NULL;
sdp_media_list_t *mdes = NULL;
int streamct = 0;
char buf[SDP_BUFSIZE];
mdes = (sdp_media_list_t *) sdp->media_des;
while (mdes != NULL) {
/* get sdp media attribute */
media_attr = (sdp_attribute_list_t *) sdp_get_media_attribute(mdes);
if(media_attr != NULL) {
do {
snprintf(buf, SDP_BUFSIZE, a=%s:%s 0, media_attr->a_attr_name, media_attr->a_attr_val);
*(stream + streamct) = (char *) malloc (sizeof(buf));
strcpy(stream[streamct], buf);
streamct++;
SDP Sample Program 105