summaryrefslogtreecommitdiff
path: root/include/asterisk
diff options
context:
space:
mode:
authorSean Bright <sean.bright@gmail.com>2017-05-28 16:43:12 -0400
committerSean Bright <sean.bright@gmail.com>2017-05-30 15:09:33 -0500
commitca2b3584b24e2e5621aec288fa37f6cc929439f6 (patch)
tree63b44a5efd7bfb082fc8a34d66bea370fa68df60 /include/asterisk
parente5cd02bcb41bafe739909dc53561660a62f2c435 (diff)
format: Reintroduce smoother flags
In review 4843 (ASTERISK-24858), we added a hack that forced a smoother creation when sending signed linear so that the byte order was adjusted during transmission. This was needed because smoother flags were lost during the new format work that was done in Asterisk 13. Rather than rolling that same hack into res_rtp_multicast, re-introduce smoother flags so that formats can dictate their own options. Change-Id: I77b835fba0e539c6ce50014a984766f63cab2c16
Diffstat (limited to 'include/asterisk')
-rw-r--r--include/asterisk/codec.h3
-rw-r--r--include/asterisk/format.h11
-rw-r--r--include/asterisk/smoother.h1
3 files changed, 15 insertions, 0 deletions
diff --git a/include/asterisk/codec.h b/include/asterisk/codec.h
index 3873324b1..e3b71062b 100644
--- a/include/asterisk/codec.h
+++ b/include/asterisk/codec.h
@@ -26,6 +26,9 @@
#ifndef _AST_CODEC_H_
#define _AST_CODEC_H_
+#define AST_SMOOTHER_FLAGS_PACK(x) ((x) << 1)
+#define AST_SMOOTHER_FLAGS_UNPACK(x) ((x) >> 1)
+
/*! \brief Types of media */
enum ast_media_type {
AST_MEDIA_TYPE_UNKNOWN = 0,
diff --git a/include/asterisk/format.h b/include/asterisk/format.h
index a5ca03818..fb130e83b 100644
--- a/include/asterisk/format.h
+++ b/include/asterisk/format.h
@@ -338,6 +338,17 @@ const char *ast_format_get_codec_name(const struct ast_format *format);
int ast_format_can_be_smoothed(const struct ast_format *format);
/*!
+ * \since 13.17.0
+ *
+ * \brief Get smoother flags for this format
+ *
+ * \param format The media format
+ *
+ * \return smoother flags for the provided format
+ */
+int ast_format_get_smoother_flags(const struct ast_format *format);
+
+/*!
* \brief Get the media type of a format
*
* \param format The media format
diff --git a/include/asterisk/smoother.h b/include/asterisk/smoother.h
index e63aa77bd..65ac88921 100644
--- a/include/asterisk/smoother.h
+++ b/include/asterisk/smoother.h
@@ -33,6 +33,7 @@ extern "C" {
#define AST_SMOOTHER_FLAG_G729 (1 << 0)
#define AST_SMOOTHER_FLAG_BE (1 << 1)
+#define AST_SMOOTHER_FLAG_FORCED (1 << 2)
/*! \name AST_Smoother
*/