BuildSystem: Remove unused variables.
[asterisk/asterisk.git] / main / format_cache.c
index 9b83a3b..db0d9b9 100644 (file)
@@ -29,8 +29,6 @@
 
 #include "asterisk.h"
 
-ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
-
 #include "asterisk/logger.h"
 #include "asterisk/format.h"
 #include "asterisk/format_cache.h"
@@ -193,6 +191,11 @@ struct ast_format *ast_format_mp4;
 struct ast_format *ast_format_vp8;
 
 /*!
+ * \brief Built-in cached vp9 format.
+ */
+struct ast_format *ast_format_vp9;
+
+/*!
  * \brief Built-in cached jpeg format.
  */
 struct ast_format *ast_format_jpeg;
@@ -218,6 +221,11 @@ struct ast_format *ast_format_siren7;
 struct ast_format *ast_format_opus;
 
 /*!
+ * \brief Built-in cached codec2 format.
+ */
+struct ast_format *ast_format_codec2;
+
+/*!
  * \brief Built-in cached t140 format.
  */
 struct ast_format *ast_format_t140;
@@ -228,10 +236,23 @@ struct ast_format *ast_format_t140;
 struct ast_format *ast_format_t140_red;
 
 /*!
+ * \brief Built-in cached T.38 format.
+ */
+struct ast_format *ast_format_t38;
+
+/*!
  * \brief Built-in "null" format.
  */
 struct ast_format *ast_format_none;
 
+/*!
+ * \brief Built-in "silk" format
+ */
+struct ast_format *ast_format_silk8;
+struct ast_format *ast_format_silk12;
+struct ast_format *ast_format_silk16;
+struct ast_format *ast_format_silk24;
+
 /*! \brief Number of buckets to use for the media format cache (should be prime for performance reasons) */
 #define CACHE_BUCKETS 53
 
@@ -320,6 +341,7 @@ static void format_cache_shutdown(void)
        ao2_replace(ast_format_testlaw, NULL);
        ao2_replace(ast_format_g719, NULL);
        ao2_replace(ast_format_opus, NULL);
+       ao2_replace(ast_format_codec2, NULL);
        ao2_replace(ast_format_jpeg, NULL);
        ao2_replace(ast_format_png, NULL);
        ao2_replace(ast_format_h261, NULL);
@@ -328,9 +350,15 @@ static void format_cache_shutdown(void)
        ao2_replace(ast_format_h264, NULL);
        ao2_replace(ast_format_mp4, NULL);
        ao2_replace(ast_format_vp8, NULL);
+       ao2_replace(ast_format_vp9, NULL);
        ao2_replace(ast_format_t140_red, NULL);
        ao2_replace(ast_format_t140, NULL);
+       ao2_replace(ast_format_t38, NULL);
        ao2_replace(ast_format_none, NULL);
+       ao2_replace(ast_format_silk8, NULL);
+       ao2_replace(ast_format_silk12, NULL);
+       ao2_replace(ast_format_silk16, NULL);
+       ao2_replace(ast_format_silk24, NULL);
 }
 
 int ast_format_cache_init(void)
@@ -348,7 +376,9 @@ int ast_format_cache_init(void)
 
 static void set_cached_format(const char *name, struct ast_format *format)
 {
-       if (!strcmp(name, "g723")) {
+       if (!strcmp(name, "codec2")) {
+               ao2_replace(ast_format_codec2, format);
+       } else if (!strcmp(name, "g723")) {
                ao2_replace(ast_format_g723, format);
        } else if (!strcmp(name, "ulaw")) {
                ao2_replace(ast_format_ulaw, format);
@@ -420,12 +450,24 @@ static void set_cached_format(const char *name, struct ast_format *format)
                ao2_replace(ast_format_mp4, format);
        } else if (!strcmp(name, "vp8")) {
                ao2_replace(ast_format_vp8, format);
+       } else if (!strcmp(name, "vp9")) {
+               ao2_replace(ast_format_vp9, format);
        } else if (!strcmp(name, "red")) {
                ao2_replace(ast_format_t140_red, format);
        } else if (!strcmp(name, "t140")) {
                ao2_replace(ast_format_t140, format);
+       } else if (!strcmp(name, "t38")) {
+               ao2_replace(ast_format_t38, format);
        } else if (!strcmp(name, "none")) {
                ao2_replace(ast_format_none, format);
+       } else if (!strcmp(name, "silk8")) {
+               ao2_replace(ast_format_silk8, format);
+       } else if (!strcmp(name, "silk12")) {
+               ao2_replace(ast_format_silk12, format);
+       } else if (!strcmp(name, "silk16")) {
+               ao2_replace(ast_format_silk16, format);
+       } else if (!strcmp(name, "silk24")) {
+               ao2_replace(ast_format_silk24, format);
        }
 }
 
@@ -457,22 +499,14 @@ int ast_format_cache_set(struct ast_format *format)
        return 0;
 }
 
-struct ast_format *__ast_format_cache_get(const char *name)
-{
-       if (ast_strlen_zero(name)) {
-               return NULL;
-       }
-
-       return ao2_find(formats, name, OBJ_SEARCH_KEY);
-}
-
-struct ast_format *__ast_format_cache_get_debug(const char *name, const char *tag, const char *file, int line, const char *func)
+struct ast_format *__ast_format_cache_get(const char *name,
+       const char *tag, const char *file, int line, const char *func)
 {
        if (ast_strlen_zero(name)) {
                return NULL;
        }
 
-       return __ao2_find_debug(formats, name, OBJ_SEARCH_KEY, S_OR(tag, "ast_format_cache_get"), file, line, func);
+       return __ao2_find(formats, name, OBJ_SEARCH_KEY, tag, file, line, func);
 }
 
 struct ast_format *ast_format_cache_get_slin_by_rate(unsigned int rate)
@@ -500,6 +534,7 @@ struct ast_format *ast_format_cache_get_slin_by_rate(unsigned int rate)
 int ast_format_cache_is_slinear(struct ast_format *format)
 {
        if ((ast_format_cmp(format, ast_format_slin) == AST_FORMAT_CMP_EQUAL)
+               || (ast_format_cmp(format, ast_format_slin12) == AST_FORMAT_CMP_EQUAL)
                || (ast_format_cmp(format, ast_format_slin16) == AST_FORMAT_CMP_EQUAL)
                || (ast_format_cmp(format, ast_format_slin24) == AST_FORMAT_CMP_EQUAL)
                || (ast_format_cmp(format, ast_format_slin32) == AST_FORMAT_CMP_EQUAL)
@@ -512,4 +547,3 @@ int ast_format_cache_is_slinear(struct ast_format *format)
 
        return 0;
 }
-