- if ((lang=av_metadata_get(ist->st->metadata, "language", NULL, 0))
- && !av_metadata_get(ost->st->metadata, "language", NULL, 0))
- av_metadata_set(&ost->st->metadata, "language", lang->value);
+ if (av_metadata_get(ist->st->metadata, "language", NULL, 0))
+ lang = av_metadata_get(ost->st->metadata, "language", NULL, 0);
+ while ((t = av_metadata_get(ist->st->metadata, "", t, AV_METADATA_IGNORE_SUFFIX))) {
+ if (lang && !strcmp(t->key, "language"))
+ continue;
+ av_metadata_set2(&ost->st->metadata, t->key, t->value, 0);
+ }