/* process metadata blocks */
while (!s->pb->eof_reached && !metadata_last) {
avio_read(s->pb, header, 4);
- avpriv_flac_parse_block_header(header, &metadata_last, &metadata_type,
+ flac_parse_block_header(header, &metadata_last, &metadata_type,
&metadata_size);
switch (metadata_type) {
/* allocate and read metadata block for supported types */
if (metadata_type == FLAC_METADATA_TYPE_VORBIS_COMMENT) {
AVDictionaryEntry *chmask;
- if (ff_vorbis_comment(s, &s->metadata, buffer, metadata_size)) {
+ ret = ff_vorbis_comment(s, &s->metadata, buffer, metadata_size, 1);
+ if (ret < 0) {
av_log(s, AV_LOG_WARNING, "error parsing VorbisComment metadata\n");
+ } else if (ret > 0) {
+ s->event_flags |= AVFMT_EVENT_FLAG_METADATA_UPDATED;
}
/* parse the channels mask if present */