summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2009-06-19 15:41:24 +0000
committerJoshua Colp <jcolp@digium.com>2009-06-19 15:41:24 +0000
commite85296e24493709535857ae10e70d1067b9691ea (patch)
treeba2c013a77fabb40e732c6cda3198cdb67835304 /main
parentad0d1bfd9e531b8fd0a7c04238f69850c07824bd (diff)
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
Diffstat (limited to 'main')
-rw-r--r--main/rtp_engine.c12
1 files changed, 12 insertions, 0 deletions
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;