|
#define | JANUS_SDP_OA_AUDIO 1 |
| When generating an offer or answer automatically, accept/reject audio if offered (depends on value that follows) More...
|
|
#define | JANUS_SDP_OA_VIDEO 2 |
| When generating an offer or answer automatically, accept/reject video if offered (depends on value that follows) More...
|
|
#define | JANUS_SDP_OA_DATA 3 |
| When generating an offer or answer automatically, accept/reject datachannels if offered (depends on value that follows) More...
|
|
#define | JANUS_SDP_OA_AUDIO_DIRECTION 4 |
| When generating an offer or answer automatically, use this direction for audio (depends on value that follows) More...
|
|
#define | JANUS_SDP_OA_VIDEO_DIRECTION 5 |
| When generating an offer or answer automatically, use this direction for video (depends on value that follows) More...
|
|
#define | JANUS_SDP_OA_AUDIO_CODEC 6 |
| When generating an offer or answer automatically, use this codec for audio (depends on value that follows) More...
|
|
#define | JANUS_SDP_OA_VIDEO_CODEC 7 |
| When generating an offer or answer automatically, use this codec for video (depends on value that follows) More...
|
|
#define | JANUS_SDP_OA_AUDIO_PT 8 |
| When generating an offer (this is ignored for answers), use this payload type for audio (depends on value that follows) More...
|
|
#define | JANUS_SDP_OA_VIDEO_PT 9 |
| When generating an offer (this is ignored for answers), use this payload type for video (depends on value that follows) More...
|
|
#define | JANUS_SDP_OA_AUDIO_DTMF 10 |
| When generating an offer or answer automatically, do or do not negotiate telephone events (FIXME telephone-event/8000 only) More...
|
|
#define | JANUS_SDP_OA_VIDEO_RTCPFB_DEFAULTS 11 |
| When generating an offer or answer automatically, do or do not add the rtcpfb attributes we typically negotiate (fir, nack, pli, remb) More...
|
|
#define | JANUS_SDP_OA_VIDEO_H264_FMTP 12 |
| When generating an offer or answer automatically, do or do not add the default fmtp attribute for H.264 (profile-level-id=42e01f;packetization-mode=1) More...
|
|
#define | JANUS_SDP_OA_DONE 0 |
| MUST be used as the last argument in janus_sdp_generate_answer. More...
|
|
|
janus_sdp_mtype | janus_sdp_parse_mtype (const char *type) |
| Helper method to get a janus_sdp_mtype from a string. More...
|
|
const char * | janus_sdp_mtype_str (janus_sdp_mtype type) |
| Helper method to get the string associated to a janus_sdp_mtype value. More...
|
|
janus_sdp_mdirection | janus_sdp_parse_mdirection (const char *direction) |
| Helper method to get a janus_sdp_mdirection from a string. More...
|
|
const char * | janus_sdp_mdirection_str (janus_sdp_mdirection direction) |
| Helper method to get the string associated to a janus_sdp_mdirection value. More...
|
|
janus_sdp_mline * | janus_sdp_mline_create (janus_sdp_mtype type, guint16 port, const char *proto, janus_sdp_mdirection direction) |
| Helper method to quickly create a janus_sdp_mline instance. More...
|
|
void | janus_sdp_mline_destroy (janus_sdp_mline *mline) |
| Helper method to free a janus_sdp_mline instance. More...
|
|
janus_sdp_mline * | janus_sdp_mline_find (janus_sdp *sdp, janus_sdp_mtype type) |
| Helper method to get the janus_sdp_mline associated to a media type. More...
|
|
int | janus_sdp_mline_remove (janus_sdp *sdp, janus_sdp_mtype type) |
| Helper method to remove the janus_sdp_mline associated to a media type from the SDP. More...
|
|
janus_sdp_attribute * | janus_sdp_attribute_create (const char *name, const char *value,...) G_GNUC_PRINTF(2 |
| Helper method to quickly create a janus_sdp_attribute instance. More...
|
|
janus_sdp_attribute void | janus_sdp_attribute_destroy (janus_sdp_attribute *attr) |
| Helper method to free a janus_sdp_attribute instance. More...
|
|
int | janus_sdp_attribute_add_to_mline (janus_sdp_mline *mline, janus_sdp_attribute *attr) |
| Helper method to add an attribute to a media line. More...
|
|
janus_sdp * | janus_sdp_parse (const char *sdp, char *error, size_t errlen) |
| Method to parse an SDP string to a janus_sdp object. More...
|
|
int | janus_sdp_remove_payload_type (janus_sdp *sdp, int pt) |
| Helper method to quickly remove all traces (m-line, rtpmap, fmtp, etc.) of a payload type. More...
|
|
char * | janus_sdp_write (janus_sdp *sdp) |
| Method to serialize a janus_sdp object to an SDP string. More...
|
|
janus_sdp * | janus_sdp_new (const char *name, const char *address) |
| Method to quickly generate a janus_sdp instance from a few selected fields. More...
|
|
void | janus_sdp_free (janus_sdp *sdp) |
| Method to free a Janus SDP object. More...
|
|
janus_sdp * | janus_sdp_generate_offer (const char *name, const char *address,...) |
| Method to generate a janus_sdp offer, using variable arguments to dictate what to negotiate (e.g., in terms of media to offer, directions, etc.). Variable arguments are in the form of a sequence of name-value terminated by a JANUS_SDP_OA_DONE, e.g.: More...
|
|
janus_sdp * | janus_sdp_generate_answer (janus_sdp *offer,...) |
| Method to generate a janus_sdp answer to a provided janus_sdp offer, using variable arguments to dictate how to responde (e.g., in terms of media to accept, reject, directions, etc.). Variable arguments are in the form of a sequence of name-value terminated by a JANUS_SDP_OA_DONE, e.g.: More...
|
|
int | janus_sdp_get_codec_pt (janus_sdp *sdp, const char *codec) |
| Helper to get the payload type associated to a specific codec. More...
|
|
const char * | janus_sdp_get_codec_name (janus_sdp *sdp, int pt) |
| Helper to get the codec name associated to a specific payload type. More...
|
|
const char * | janus_sdp_get_codec_rtpmap (const char *codec) |
| Helper to get the rtpmap associated to a specific codec. More...
|
|
SDP utilities (headers)
- Author
- Lorenzo Miniero loren.nosp@m.zo@m.nosp@m.eetec.nosp@m.ho.c.nosp@m.om
- Copyright
- GNU General Public License v3
Implementation of an internal SDP representation. Allows to parse SDP strings to an internal janus_sdp object, the manipulation of such object by playing with its properties, and a serialization to an SDP string that can be passed around. Since they don't have any core dependencies, these utilities can be used by plugins as well.
Core
Method to generate a janus_sdp answer to a provided janus_sdp offer, using variable arguments to dictate how to responde (e.g., in terms of media to accept, reject, directions, etc.). Variable arguments are in the form of a sequence of name-value terminated by a JANUS_SDP_OA_DONE, e.g.:
janus_sdp *answer = janus_sdp_generate_answer(offer,
JANUS_SDP_OA_AUDIO, TRUE,
JANUS_SDP_OA_AUDIO_DIRECTION, JANUS_SDP_RECVONLY,
JANUS_SDP_OA_AUDIO_CODEC, "opus",
JANUS_SDP_OA_VIDEO, FALSE,
JANUS_SDP_OA_DATA, FALSE,
JANUS_SDP_OA_DONE);
to only accept the audio stream being offered, but as recvonly
, use Opus and reject both video and datachannels. Refer to the property names in the header file for a complete list of how you can drive the answer. The default, if not specified, is to accept everything as sendrecv
.
- Parameters
-
[in] | offer | The Janus SDP offer to respond to |
- Returns
- A pointer to a janus_sdp object, if successful, NULL otherwise
janus_sdp* janus_sdp_generate_offer |
( |
const char * |
name, |
|
|
const char * |
address, |
|
|
|
... |
|
) |
| |
Method to generate a janus_sdp offer, using variable arguments to dictate what to negotiate (e.g., in terms of media to offer, directions, etc.). Variable arguments are in the form of a sequence of name-value terminated by a JANUS_SDP_OA_DONE, e.g.:
janus_sdp *offer = janus_sdp_generate_offer("My session", "127.0.0.1",
JANUS_SDP_OA_AUDIO, TRUE,
JANUS_SDP_OA_AUDIO_PT, 100,
JANUS_SDP_OA_AUDIO_DIRECTION, JANUS_SDP_SENDONLY,
JANUS_SDP_OA_AUDIO_CODEC, "opus",
JANUS_SDP_OA_VIDEO, FALSE,
JANUS_SDP_OA_DATA, FALSE,
JANUS_SDP_OA_DONE);
to only offer a sendonly
Opus audio stream being offered with 100 as payload type, and avoid video and datachannels. Refer to the property names in the header file for a complete list of how you can drive the offer. The default, if not specified, is to offer everything, using Opus with pt=111 for audio, VP8 with pt=96 as video, and data channels, all as sendrecv
.
- Parameters
-
[in] | name | The session name (if NULL, a default value will be set) |
[in] | address | The IP to set in o= and c= fields (if NULL, a default value will be set) |
- Returns
- A pointer to a janus_sdp object, if successful, NULL otherwise