summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Stebbins <[email protected]>2015-09-25 09:01:47 -0700
committerJohn Stebbins <[email protected]>2015-09-25 09:04:44 -0700
commitf997fe48f3e6026c011be88828cce1e7b1389b8b (patch)
tree453054aedd5d5ab5b51d8bb9ded16b15d7d49b57
parent6b026943abebd52b0eaf575259665f2788d54f10 (diff)
libav: patch mkv track language tag problem
"language" is not a valid mkv tag. Writing it causes confusing behavior if the track language ebml differs from the tag.
-rw-r--r--contrib/ffmpeg/A06-matroskaenc-track-lang.patch15
1 files changed, 15 insertions, 0 deletions
diff --git a/contrib/ffmpeg/A06-matroskaenc-track-lang.patch b/contrib/ffmpeg/A06-matroskaenc-track-lang.patch
new file mode 100644
index 000000000..4b16e4d41
--- /dev/null
+++ b/contrib/ffmpeg/A06-matroskaenc-track-lang.patch
@@ -0,0 +1,15 @@
+diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
+index b39d1b2..d65b6eb 100644
+--- a/libavformat/matroskaenc.c
++++ b/libavformat/matroskaenc.c
+@@ -988,7 +988,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")))
+ mkv_write_simpletag(s->pb, t);
+
+ end_ebml_master(s->pb, tag);