"language" is not an offical matroska tag.
Track languages are specified with the MATROSKA_ID_TRACKLANGUAGE ebml.
Writing the tag overrides the ebml specified language during playback with
libav and some other players.
---
libavformat/matroskaenc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 498f479..740ba7b 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -1005,7 +1005,9 @@ static int mkv_write_tag(AVFormatContext *s, AVDictionary
*m, unsigned int eleme
while ((t = av_dict_get(m, "", t, AV_DICT_IGNORE_SUFFIX))) {
if (av_strcasecmp(t->key, "title") &&
- av_strcasecmp(t->key, "encoding_tool")) {
+ av_strcasecmp(t->key, "encoding_tool") &&
+ (elementid != MATROSKA_ID_TAGTARGETS_TRACKUID ||
+ av_strcasecmp(t->key, "language"))) {
ret = mkv_write_simpletag(s->pb, t);
if (ret < 0)
return ret;
--
2.4.3
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel