summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorJohn Stebbins <[email protected]>2015-09-25 09:01:47 -0700
committerJohn Stebbins <[email protected]>2015-09-25 09:01:47 -0700
commitc1eadf28e6e96574c136d600588b69e9962766c9 (patch)
tree4430efac99b059448e853043638f6ffe877cec9f /contrib
parent2f912311718e522b2fb5e2a06446fe84a4247025 (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.
Diffstat (limited to 'contrib')
-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);