From e85296e24493709535857ae10e70d1067b9691ea Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Fri, 19 Jun 2009 15:41:24 +0000 Subject: 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 --- main/rtp_engine.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'main') diff --git a/main/rtp_engine.c b/main/rtp_engine.c index cb4caafdd..ad8544c9a 100644 --- a/main/rtp_engine.c +++ b/main/rtp_engine.c @@ -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; -- cgit v1.2.3