Commit f5bffd3a authored by Erik Olofsson's avatar Erik Olofsson Committed by Michael Niedermayer

libavf/avienc: store language metadata for XSUB streams

Formatted in such a way that DivX certified players can decode it.
Verified on Sony Playstation 3 and Philips DVP3380.

Fixes ticket 2385
Signed-off-by: 's avatarErik Olofsson <eaj.olofsson@gmail.com>
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent f591ba60
......@@ -26,6 +26,8 @@
#include "avi.h"
#include "avio_internal.h"
#include "riff.h"
#include "libavformat/avlanguage.h"
#include "libavutil/avstring.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/dict.h"
#include "libavutil/avassert.h"
......@@ -309,6 +311,16 @@ static int avi_write_header(AVFormatContext *s)
ff_riff_write_info_tag(s->pb, "strn", t->value);
t = NULL;
}
if(stream->codec_id == AV_CODEC_ID_XSUB
&& (t = av_dict_get(s->streams[i]->metadata, "language", NULL, 0))) {
const char* langstr = av_convert_lang_to(t->value, AV_LANG_ISO639_1);
t = NULL;
if (langstr) {
char* str = av_asprintf("Subtitle - %s-xx;02", langstr);
ff_riff_write_info_tag(s->pb, "strn", str);
av_free(str);
}
}
}
if (pb->seekable) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment