Commit a90364d0 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit 'cc3e88a2'

* commit 'cc3e88a2':
  mov: update AVFormatContext.event_flags with METADATA_UPDATED whenever metadata changes.

Conflicts:
	libavformat/mov.c
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 1110a030 cc3e88a2
...@@ -83,6 +83,7 @@ static int mov_metadata_track_or_disc_number(MOVContext *c, AVIOContext *pb, ...@@ -83,6 +83,7 @@ static int mov_metadata_track_or_disc_number(MOVContext *c, AVIOContext *pb,
snprintf(buf, sizeof(buf), "%d", current); snprintf(buf, sizeof(buf), "%d", current);
else else
snprintf(buf, sizeof(buf), "%d/%d", current, total); snprintf(buf, sizeof(buf), "%d/%d", current, total);
c->fc->event_flags |= AVFMT_EVENT_FLAG_METADATA_UPDATED;
av_dict_set(&c->fc->metadata, key, buf, 0); av_dict_set(&c->fc->metadata, key, buf, 0);
return 0; return 0;
...@@ -99,6 +100,7 @@ static int mov_metadata_int8_bypass_padding(MOVContext *c, AVIOContext *pb, ...@@ -99,6 +100,7 @@ static int mov_metadata_int8_bypass_padding(MOVContext *c, AVIOContext *pb,
avio_r8(pb); avio_r8(pb);
snprintf(buf, sizeof(buf), "%d", avio_r8(pb)); snprintf(buf, sizeof(buf), "%d", avio_r8(pb));
c->fc->event_flags |= AVFMT_EVENT_FLAG_METADATA_UPDATED;
av_dict_set(&c->fc->metadata, key, buf, 0); av_dict_set(&c->fc->metadata, key, buf, 0);
return 0; return 0;
...@@ -110,6 +112,7 @@ static int mov_metadata_int8_no_padding(MOVContext *c, AVIOContext *pb, ...@@ -110,6 +112,7 @@ static int mov_metadata_int8_no_padding(MOVContext *c, AVIOContext *pb,
char buf[16]; char buf[16];
snprintf(buf, sizeof(buf), "%d", avio_r8(pb)); snprintf(buf, sizeof(buf), "%d", avio_r8(pb));
c->fc->event_flags |= AVFMT_EVENT_FLAG_METADATA_UPDATED;
av_dict_set(&c->fc->metadata, key, buf, 0); av_dict_set(&c->fc->metadata, key, buf, 0);
return 0; return 0;
...@@ -125,6 +128,7 @@ static int mov_metadata_gnre(MOVContext *c, AVIOContext *pb, ...@@ -125,6 +128,7 @@ static int mov_metadata_gnre(MOVContext *c, AVIOContext *pb,
genre = avio_r8(pb); genre = avio_r8(pb);
if (genre < 1 || genre > ID3v1_GENRE_MAX) if (genre < 1 || genre > ID3v1_GENRE_MAX)
return 0; return 0;
c->fc->event_flags |= AVFMT_EVENT_FLAG_METADATA_UPDATED;
av_dict_set(&c->fc->metadata, key, ff_id3v1_genre_str[genre-1], 0); av_dict_set(&c->fc->metadata, key, ff_id3v1_genre_str[genre-1], 0);
return 0; return 0;
...@@ -254,6 +258,7 @@ static int mov_metadata_loci(MOVContext *c, AVIOContext *pb, unsigned len) ...@@ -254,6 +258,7 @@ static int mov_metadata_loci(MOVContext *c, AVIOContext *pb, unsigned len)
snprintf(key2, sizeof(key2), "%s-%s", key, language); snprintf(key2, sizeof(key2), "%s-%s", key, language);
av_dict_set(&c->fc->metadata, key2, buf, 0); av_dict_set(&c->fc->metadata, key2, buf, 0);
} }
c->fc->event_flags |= AVFMT_EVENT_FLAG_METADATA_UPDATED;
return av_dict_set(&c->fc->metadata, key, buf, 0); return av_dict_set(&c->fc->metadata, key, buf, 0);
} }
...@@ -372,6 +377,7 @@ static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom) ...@@ -372,6 +377,7 @@ static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom)
return ret < 0 ? ret : AVERROR_INVALIDDATA; return ret < 0 ? ret : AVERROR_INVALIDDATA;
str[str_size] = 0; str[str_size] = 0;
} }
c->fc->event_flags |= AVFMT_EVENT_FLAG_METADATA_UPDATED;
av_dict_set(&c->fc->metadata, key, str, 0); av_dict_set(&c->fc->metadata, key, str, 0);
if (*language && strcmp(language, "und")) { if (*language && strcmp(language, "und")) {
snprintf(key2, sizeof(key2), "%s-%s", key, language); snprintf(key2, sizeof(key2), "%s-%s", key, language);
......
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