- if (e && e->value && s->value && s->compare(s, e->value, s->value)) {
- av_dict_set(&metadata, s->key, NULL, 0);
- } else if (e && e->value) {
- av_dict_set(&metadata, s->key, NULL, 0);
+ if (!s->key) {
+ av_dict_free(metadata);
+ } else if (e && e->value && (!s->value || s->compare(s, e->value, s->value))) {
+ av_dict_set(metadata, s->key, NULL, 0);