Add support for allowing an RTP engine to decide on whether it is possible for specific formats to be transcoded for an RTP instance.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@201902 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Joshua Colp
2009-06-19 15:41:24 +00:00
parent ad0d1bfd9e
commit e85296e244
3 changed files with 35 additions and 1 deletions

View File

@@ -37,6 +37,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/options.h"
#include "asterisk/astobj2.h"
#include "asterisk/pbx.h"
#include "asterisk/translate.h"
/*! Structure that represents an RTP session (instance) */
struct ast_rtp_instance {
@@ -1572,6 +1573,17 @@ int ast_rtp_instance_make_compatible(struct ast_channel *chan, struct ast_rtp_in
return res;
}
int ast_rtp_instance_available_formats(struct ast_rtp_instance *instance, int to_endpoint, int to_asterisk)
{
int formats;
if (instance->engine->available_formats && (formats = instance->engine->available_formats(instance, to_endpoint, to_asterisk))) {
return formats;
}
return ast_translate_available_formats(to_endpoint, to_asterisk);
}
int ast_rtp_instance_activate(struct ast_rtp_instance *instance)
{
return instance->engine->activate ? instance->engine->activate(instance) : 0;