From 88e83399472fa4082aa7fdb9e8999d87704f6801 Mon Sep 17 00:00:00 2001 From: "Alfred E. Heggestad" Date: Wed, 8 Oct 2014 11:21:31 +0000 Subject: [PATCH] patch: add sdp_media_session_rattr() --- include/re_sdp.h | 3 +++ src/sdp/media.c | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/include/re_sdp.h b/include/re_sdp.h index 269157a..f34bab5 100644 --- a/include/re_sdp.h +++ b/include/re_sdp.h @@ -126,6 +126,9 @@ struct sdp_format *sdp_media_format_apply(const struct sdp_media *m, sdp_format_h *fmth, void *arg); const struct list *sdp_media_format_lst(const struct sdp_media *m, bool local); const char *sdp_media_rattr(const struct sdp_media *m, const char *name); +const char *sdp_media_session_rattr(const struct sdp_media *m, + const struct sdp_session *sess, + const char *name); const char *sdp_media_rattr_apply(const struct sdp_media *m, const char *name, sdp_attr_h *attrh, void *arg); const char *sdp_media_name(const struct sdp_media *m); diff --git a/src/sdp/media.c b/src/sdp/media.c index 6566867..07ce3a2 100644 --- a/src/sdp/media.c +++ b/src/sdp/media.c @@ -860,6 +860,29 @@ const char *sdp_media_rattr(const struct sdp_media *m, const char *name) } +/** + * Get a remote attribute from an SDP Media line or the SDP session + * + * @param m SDP Media line + * @param sess SDP Session + * @param name Attribute name + * + * @return Attribute value, NULL if not found + */ +const char *sdp_media_session_rattr(const struct sdp_media *m, + const struct sdp_session *sess, + const char *name) +{ + const char *val; + + val = sdp_media_rattr(m, name); + if (!val) + val = sdp_session_rattr(sess, name); + + return val; +} + + /** * Apply a function handler to all matching remote attributes *