mirror of https://git.ffmpeg.org/ffmpeg.git
ffmpeg: copy stream metadata.
Patch by Anton Khirnov wyskasgmailcom Originally committed as revision 22126 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
bc99737689
commit
c71591a509
12
ffmpeg.c
12
ffmpeg.c
|
@ -1837,7 +1837,7 @@ static int av_encode(AVFormatContext **output_files,
|
||||||
|
|
||||||
/* for each output stream, we compute the right encoding parameters */
|
/* for each output stream, we compute the right encoding parameters */
|
||||||
for(i=0;i<nb_ostreams;i++) {
|
for(i=0;i<nb_ostreams;i++) {
|
||||||
AVMetadataTag *lang;
|
AVMetadataTag *t = NULL, *lang = NULL;
|
||||||
ost = ost_table[i];
|
ost = ost_table[i];
|
||||||
os = output_files[ost->file_index];
|
os = output_files[ost->file_index];
|
||||||
ist = ist_table[ost->source_index];
|
ist = ist_table[ost->source_index];
|
||||||
|
@ -1845,9 +1845,13 @@ static int av_encode(AVFormatContext **output_files,
|
||||||
codec = ost->st->codec;
|
codec = ost->st->codec;
|
||||||
icodec = ist->st->codec;
|
icodec = ist->st->codec;
|
||||||
|
|
||||||
if ((lang=av_metadata_get(ist->st->metadata, "language", NULL, 0))
|
if (av_metadata_get(ist->st->metadata, "language", NULL, 0))
|
||||||
&& !av_metadata_get(ost->st->metadata, "language", NULL, 0))
|
lang = av_metadata_get(ost->st->metadata, "language", NULL, 0);
|
||||||
av_metadata_set(&ost->st->metadata, "language", lang->value);
|
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, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
ost->st->disposition = ist->st->disposition;
|
ost->st->disposition = ist->st->disposition;
|
||||||
codec->bits_per_raw_sample= icodec->bits_per_raw_sample;
|
codec->bits_per_raw_sample= icodec->bits_per_raw_sample;
|
||||||
|
|
Loading…
Reference in New Issue