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