Merge commit 'cc3e88a2b9e7ecf62e4ea1c41ce1623cea67ee96'
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 13 Aug 2014 21:51:03 +0000 (23:51 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 13 Aug 2014 21:51:03 +0000 (23:51 +0200)
* commit 'cc3e88a2b9e7ecf62e4ea1c41ce1623cea67ee96':
  mov: update AVFormatContext.event_flags with METADATA_UPDATED whenever metadata changes.

Conflicts:
libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavformat/mov.c

@@@ -125,7 -126,9 +128,8 @@@ static int mov_metadata_gnre(MOVContex
      genre = avio_r8(pb);
      if (genre < 1 || genre > ID3v1_GENRE_MAX)
          return 0;
 -    snprintf(buf, sizeof(buf), "%s", ff_id3v1_genre_str[genre-1]);
+     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, ff_id3v1_genre_str[genre-1], 0);
  
      return 0;
  }
@@@ -367,11 -348,10 +372,12 @@@ static int mov_read_udta_string(MOVCont
          if (data_type == 3 || (data_type == 0 && (langcode < 0x400 || langcode == 0x7fff))) { // MAC Encoded
              mov_read_mac_string(c, pb, str_size, str, sizeof(str));
          } else {
 -            avio_read(pb, str, str_size);
 +            int ret = avio_read(pb, str, str_size);
 +            if (ret != str_size)
 +                return ret < 0 ? ret : AVERROR_INVALIDDATA;
              str[str_size] = 0;
          }
+         c->fc->event_flags |= AVFMT_EVENT_FLAG_METADATA_UPDATED;
          av_dict_set(&c->fc->metadata, key, str, 0);
          if (*language && strcmp(language, "und")) {
              snprintf(key2, sizeof(key2), "%s-%s", key, language);