Message ID | 1474927822-6802-3-git-send-email-jeebjp@gmail.com |
---|---|
State | Accepted |
Headers | show |
On 26/09/2016 23:10, Jan Ekström wrote: > Streaming servers appear to ignore all other language metadata. > > Signed-off-by: Jan Ekström <jeebjp@gmail.com> > --- > libavformat/movenc.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/libavformat/movenc.c b/libavformat/movenc.c > index d5ed1dd..28edb18 100644 > --- a/libavformat/movenc.c > +++ b/libavformat/movenc.c > @@ -3611,6 +3611,9 @@ static int mov_write_isml_manifest(AVIOContext *pb, MOVMuxContext *mov, AVFormat > const char *type; > int track_id = track->track_id; > > + AVStream *st = track->st; > + AVDictionaryEntry *lang = av_dict_get(st->metadata, "language", NULL,0); > + > if (track->par->codec_type == AVMEDIA_TYPE_VIDEO) { > type = "video"; > } else if (track->par->codec_type == AVMEDIA_TYPE_AUDIO) { > @@ -3630,6 +3633,7 @@ static int mov_write_isml_manifest(AVIOContext *pb, MOVMuxContext *mov, AVFormat > (int64_t)manifest_bit_rate); > param_write_int(pb, "systemBitrate", manifest_bit_rate); > param_write_int(pb, "trackID", track_id); > + param_write_string(pb, "systemLanguage", lang ? lang->value : "und"); > if (track->par->codec_type == AVMEDIA_TYPE_VIDEO) { > if (track->par->codec_id == AV_CODEC_ID_H264) { > uint8_t *ptr; > LGTM. Will push tomorrow if no further comments. -- Josh
On 26/09/2016 23:10, Jan Ekström wrote: > Streaming servers appear to ignore all other language metadata. > > Signed-off-by: Jan Ekström <jeebjp@gmail.com> > --- > libavformat/movenc.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/libavformat/movenc.c b/libavformat/movenc.c > index d5ed1dd..28edb18 100644 > --- a/libavformat/movenc.c > +++ b/libavformat/movenc.c > @@ -3611,6 +3611,9 @@ static int mov_write_isml_manifest(AVIOContext *pb, MOVMuxContext *mov, AVFormat > const char *type; > int track_id = track->track_id; > > + AVStream *st = track->st; > + AVDictionaryEntry *lang = av_dict_get(st->metadata, "language", NULL,0); > + > if (track->par->codec_type == AVMEDIA_TYPE_VIDEO) { > type = "video"; > } else if (track->par->codec_type == AVMEDIA_TYPE_AUDIO) { > @@ -3630,6 +3633,7 @@ static int mov_write_isml_manifest(AVIOContext *pb, MOVMuxContext *mov, AVFormat > (int64_t)manifest_bit_rate); > param_write_int(pb, "systemBitrate", manifest_bit_rate); > param_write_int(pb, "trackID", track_id); > + param_write_string(pb, "systemLanguage", lang ? lang->value : "und"); > if (track->par->codec_type == AVMEDIA_TYPE_VIDEO) { > if (track->par->codec_id == AV_CODEC_ID_H264) { > uint8_t *ptr; > Thanks, applied. -- Josh
diff --git a/libavformat/movenc.c b/libavformat/movenc.c index d5ed1dd..28edb18 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -3611,6 +3611,9 @@ static int mov_write_isml_manifest(AVIOContext *pb, MOVMuxContext *mov, AVFormat const char *type; int track_id = track->track_id; + AVStream *st = track->st; + AVDictionaryEntry *lang = av_dict_get(st->metadata, "language", NULL,0); + if (track->par->codec_type == AVMEDIA_TYPE_VIDEO) { type = "video"; } else if (track->par->codec_type == AVMEDIA_TYPE_AUDIO) { @@ -3630,6 +3633,7 @@ static int mov_write_isml_manifest(AVIOContext *pb, MOVMuxContext *mov, AVFormat (int64_t)manifest_bit_rate); param_write_int(pb, "systemBitrate", manifest_bit_rate); param_write_int(pb, "trackID", track_id); + param_write_string(pb, "systemLanguage", lang ? lang->value : "und"); if (track->par->codec_type == AVMEDIA_TYPE_VIDEO) { if (track->par->codec_id == AV_CODEC_ID_H264) { uint8_t *ptr;
Streaming servers appear to ignore all other language metadata. Signed-off-by: Jan Ekström <jeebjp@gmail.com> --- libavformat/movenc.c | 4 ++++ 1 file changed, 4 insertions(+)