Sat Apr 26 2014 22:03:24

Asterisk developer's documentation


ast_rtp_glue Struct Reference

#include <rtp_engine.h>

Collaboration diagram for ast_rtp_glue:

Public Member Functions

 AST_LIST_ENTRY (ast_rtp_glue) entry

Data Fields

int(* allow_rtp_remote )(struct ast_channel *chan1, struct ast_channel *chan2)
 Used to prevent two channels from remotely bridging audio rtp if the channel tech has a reason for prohibiting it based on qualities that need to be compared from both channels.
int(* allow_vrtp_remote )(struct ast_channel *chan1, struct ast_channel *chan2)
 Used to prevent two channels from remotely bridging video rtp if the channel tech has a reason for prohibiting it based on qualities that need to be compared from both channels.
void(* get_codec )(struct ast_channel *chan, struct ast_format_cap *result_cap)
enum ast_rtp_glue_result(* get_rtp_info )(struct ast_channel *chan, struct ast_rtp_instance **instance)
 Callback for retrieving the RTP instance carrying audio.
enum ast_rtp_glue_result(* get_trtp_info )(struct ast_channel *chan, struct ast_rtp_instance **instance)
 Callback for retrieving the RTP instance carrying text.
enum ast_rtp_glue_result(* get_vrtp_info )(struct ast_channel *chan, struct ast_rtp_instance **instance)
 Callback for retrieving the RTP instance carrying video.
struct ast_modulemod
const char * type
int(* update_peer )(struct ast_channel *chan, struct ast_rtp_instance *instance, struct ast_rtp_instance *vinstance, struct ast_rtp_instance *tinstance, const struct ast_format_cap *cap, int nat_active)

Detailed Description

Structure that represents the glue that binds an RTP instance to a channel

Definition at line 505 of file rtp_engine.h.


Member Function Documentation

Linked list information


Field Documentation

int(* allow_rtp_remote)(struct ast_channel *chan1, struct ast_channel *chan2)

Used to prevent two channels from remotely bridging audio rtp if the channel tech has a reason for prohibiting it based on qualities that need to be compared from both channels.

Note:
This function should only be called with two channels of the same technology
This function may be NULL for a given channel driver. This should be accounted for and if that is the case, function this is not used.

Definition at line 521 of file rtp_engine.h.

Referenced by ast_rtp_instance_bridge().

int(* allow_vrtp_remote)(struct ast_channel *chan1, struct ast_channel *chan2)

Used to prevent two channels from remotely bridging video rtp if the channel tech has a reason for prohibiting it based on qualities that need to be compared from both channels.

Note:
This function should only be called with two channels of the same technology
This function may be NULL for a given channel driver. This should be accounted for and if that is the case, this function is not used.

Definition at line 533 of file rtp_engine.h.

Referenced by ast_rtp_instance_bridge().

void(* get_codec)(struct ast_channel *chan, struct ast_format_cap *result_cap)

Callback for retrieving codecs that the channel can do. Result returned in result_cap.

Note:
The channel chan will be locked during this call.

Definition at line 545 of file rtp_engine.h.

Referenced by ast_rtp_instance_bridge(), ast_rtp_instance_early_bridge(), ast_rtp_instance_early_bridge_make_compatible(), and remote_bridge_loop().

enum ast_rtp_glue_result(* get_rtp_info)(struct ast_channel *chan, struct ast_rtp_instance **instance)

Callback for retrieving the RTP instance carrying audio.

Note:
This function increases the reference count on the returned RTP instance.

Definition at line 514 of file rtp_engine.h.

Referenced by ast_rtp_instance_bridge(), ast_rtp_instance_early_bridge(), ast_rtp_instance_early_bridge_make_compatible(), and ast_rtp_instance_make_compatible().

enum ast_rtp_glue_result(* get_trtp_info)(struct ast_channel *chan, struct ast_rtp_instance **instance)

Callback for retrieving the RTP instance carrying text.

Note:
This function increases the reference count on the returned RTP instance.

Definition at line 539 of file rtp_engine.h.

enum ast_rtp_glue_result(* get_vrtp_info)(struct ast_channel *chan, struct ast_rtp_instance **instance)

Callback for retrieving the RTP instance carrying video.

Note:
This function increases the reference count on the returned RTP instance.

Definition at line 526 of file rtp_engine.h.

Referenced by ast_rtp_instance_bridge(), ast_rtp_instance_early_bridge(), and ast_rtp_instance_early_bridge_make_compatible().

struct ast_module* mod

Module that the RTP glue came from

Definition at line 509 of file rtp_engine.h.

Referenced by ast_rtp_glue_register2().

const char* type

Name of the channel driver that this glue is responsible for

Definition at line 507 of file rtp_engine.h.

Referenced by ast_rtp_glue_register2(), ast_rtp_glue_unregister(), ast_rtp_instance_get_glue(), and ast_rtp_instance_make_compatible().

int(* update_peer)(struct ast_channel *chan, struct ast_rtp_instance *instance, struct ast_rtp_instance *vinstance, struct ast_rtp_instance *tinstance, const struct ast_format_cap *cap, int nat_active)

Callback for updating the destination that the remote side should send RTP to

Definition at line 541 of file rtp_engine.h.

Referenced by ast_rtp_instance_early_bridge(), ast_rtp_instance_early_bridge_make_compatible(), and remote_bridge_loop().


The documentation for this struct was generated from the following file: