Commit 1110a030 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit 'fa3a5dd4'

* commit 'fa3a5dd4':
  nutdec: update AVFormatContext.event_flags with STREAM_/METADATA_UPDATED whenever metadata changes.
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 314c1984 fa3a5dd4
...@@ -484,9 +484,11 @@ static int decode_info_header(NUTContext *nut) ...@@ -484,9 +484,11 @@ static int decode_info_header(NUTContext *nut)
int64_t value, end; int64_t value, end;
char name[256], str_value[1024], type_str[256]; char name[256], str_value[1024], type_str[256];
const char *type; const char *type;
int *event_flags;
AVChapter *chapter = NULL; AVChapter *chapter = NULL;
AVStream *st = NULL; AVStream *st = NULL;
AVDictionary **metadata = NULL; AVDictionary **metadata = NULL;
int metadata_flag = 0;
end = get_packetheader(nut, bc, 1, INFO_STARTCODE); end = get_packetheader(nut, bc, 1, INFO_STARTCODE);
end += avio_tell(bc); end += avio_tell(bc);
...@@ -507,8 +509,13 @@ static int decode_info_header(NUTContext *nut) ...@@ -507,8 +509,13 @@ static int decode_info_header(NUTContext *nut)
} else if (stream_id_plus1) { } else if (stream_id_plus1) {
st = s->streams[stream_id_plus1 - 1]; st = s->streams[stream_id_plus1 - 1];
metadata = &st->metadata; metadata = &st->metadata;
} else event_flags = &st->event_flags;
metadata_flag = AVSTREAM_EVENT_FLAG_METADATA_UPDATED;
} else {
metadata = &s->metadata; metadata = &s->metadata;
event_flags = &s->event_flags;
metadata_flag = AVFMT_EVENT_FLAG_METADATA_UPDATED;
}
for (i = 0; i < count; i++) { for (i = 0; i < count; i++) {
get_str(bc, name, sizeof(name)); get_str(bc, name, sizeof(name));
...@@ -552,8 +559,10 @@ static int decode_info_header(NUTContext *nut) ...@@ -552,8 +559,10 @@ static int decode_info_header(NUTContext *nut)
} }
if (metadata && av_strcasecmp(name, "Uses") && if (metadata && av_strcasecmp(name, "Uses") &&
av_strcasecmp(name, "Depends") && av_strcasecmp(name, "Replaces")) av_strcasecmp(name, "Depends") && av_strcasecmp(name, "Replaces")) {
*event_flags |= metadata_flag;
av_dict_set(metadata, name, str_value, 0); av_dict_set(metadata, name, str_value, 0);
}
} }
} }
......
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