|
|
|
@ -1721,6 +1721,7 @@ static int av_encode(AVFormatContext **output_files, |
|
|
|
|
|
|
|
|
|
/* for each output stream, we compute the right encoding parameters */ |
|
|
|
|
for(i=0;i<nb_ostreams;i++) { |
|
|
|
|
AVMetadataTag *lang; |
|
|
|
|
ost = ost_table[i]; |
|
|
|
|
os = output_files[ost->file_index]; |
|
|
|
|
ist = ist_table[ost->source_index]; |
|
|
|
@ -1728,9 +1729,9 @@ static int av_encode(AVFormatContext **output_files, |
|
|
|
|
codec = ost->st->codec; |
|
|
|
|
icodec = ist->st->codec; |
|
|
|
|
|
|
|
|
|
if (!ost->st->language[0]) |
|
|
|
|
av_strlcpy(ost->st->language, ist->st->language, |
|
|
|
|
sizeof(ost->st->language)); |
|
|
|
|
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); |
|
|
|
|
|
|
|
|
|
ost->st->disposition = ist->st->disposition; |
|
|
|
|
|
|
|
|
@ -3195,7 +3196,7 @@ static void new_audio_stream(AVFormatContext *oc) |
|
|
|
|
audio_enc->sample_rate = audio_sample_rate; |
|
|
|
|
audio_enc->time_base= (AVRational){1, audio_sample_rate}; |
|
|
|
|
if (audio_language) { |
|
|
|
|
av_strlcpy(st->language, audio_language, sizeof(st->language)); |
|
|
|
|
av_metadata_set(&st->metadata, "language", audio_language); |
|
|
|
|
av_free(audio_language); |
|
|
|
|
audio_language = NULL; |
|
|
|
|
} |
|
|
|
@ -3233,7 +3234,7 @@ static void new_subtitle_stream(AVFormatContext *oc) |
|
|
|
|
nb_ocodecs++; |
|
|
|
|
|
|
|
|
|
if (subtitle_language) { |
|
|
|
|
av_strlcpy(st->language, subtitle_language, sizeof(st->language)); |
|
|
|
|
av_metadata_set(&st->metadata, "language", subtitle_language); |
|
|
|
|
av_free(subtitle_language); |
|
|
|
|
subtitle_language = NULL; |
|
|
|
|
} |
|
|
|
|