diff options
author | Joshua Colp <jcolp@digium.com> | 2009-06-19 15:41:24 +0000 |
---|---|---|
committer | Joshua Colp <jcolp@digium.com> | 2009-06-19 15:41:24 +0000 |
commit | e85296e24493709535857ae10e70d1067b9691ea (patch) | |
tree | ba2c013a77fabb40e732c6cda3198cdb67835304 /main | |
parent | ad0d1bfd9e531b8fd0a7c04238f69850c07824bd (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.c | 12 |
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; |