---
 libavformat/avlanguage.c | 14 ++++++++++++++
 libavformat/avlanguage.h |  5 +++++
 2 files changed, 19 insertions(+)


diff --git a/libavformat/avlanguage.c b/libavformat/avlanguage.c
index e606ef2..a4b916f 100644
--- a/libavformat/avlanguage.c
+++ b/libavformat/avlanguage.c
@@ -763,3 +763,17 @@ const char *av_convert_lang_to(const char *lang, enum AVLangCodespace target_cod
 
     return NULL;
 }
+
+int av_islang(const char *lang)
+{
+    const LangEntry *entry = NULL;
+    const int NB_LANGENTRIES = FF_ARRAY_ELEMS(lang_table);
+
+    entry = bsearch(lang,
+                    lang_table,
+                    NB_LANGENTRIES,
+                    sizeof(LangEntry),
+                    lang_table_compare);
+
+    return entry != NULL;
+}
diff --git a/libavformat/avlanguage.h b/libavformat/avlanguage.h
index 2ec3e2d..24f3187 100644
--- a/libavformat/avlanguage.h
+++ b/libavformat/avlanguage.h
@@ -36,4 +36,9 @@ enum AVLangCodespace {
  */
 const char *av_convert_lang_to(const char *lang, enum AVLangCodespace target_codespace);
 
+/**
+ * Check if lang is a valid language.
+ */
+int av_islang(const char *lang);
+
 #endif /* AVFORMAT_AVLANGUAGE_H */

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to