summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarton Balint <cus@passwd.hu>2016-10-01 14:15:27 +0200
committerMarton Balint <cus@passwd.hu>2016-10-01 17:32:08 +0200
commitd946424f193391e37c034ceb2c72203309904e30 (patch)
tree8cb196a07ce8149ecbc9097773165ea0c7b5ef51
parent4f8262e373099625e40758814db28f4bdb2179ce (diff)
lavfi/metadata: fix setting metadata values
Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
-rw-r--r--libavfilter/f_metadata.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/libavfilter/f_metadata.c b/libavfilter/f_metadata.c
index 188f0b6407..1fe713c34a 100644
--- a/libavfilter/f_metadata.c
+++ b/libavfilter/f_metadata.c
@@ -280,13 +280,13 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
AVFilterContext *ctx = inlink->dst;
AVFilterLink *outlink = ctx->outputs[0];
MetadataContext *s = ctx->priv;
- AVDictionary *metadata = av_frame_get_metadata(frame);
+ AVDictionary **metadata = avpriv_frame_get_metadatap(frame);
AVDictionaryEntry *e;
- if (!metadata)
+ if (!*metadata)
return ff_filter_frame(outlink, frame);
- e = av_dict_get(metadata, !s->key ? "" : s->key, NULL,
+ e = av_dict_get(*metadata, !s->key ? "" : s->key, NULL,
!s->key ? AV_DICT_IGNORE_SUFFIX: 0);
switch (s->mode) {
@@ -302,13 +302,13 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
if (e && e->value) {
;
} else {
- av_dict_set(&metadata, s->key, s->value, 0);
+ av_dict_set(metadata, s->key, s->value, 0);
}
return ff_filter_frame(outlink, frame);
break;
case METADATA_MODIFY:
if (e && e->value) {
- av_dict_set(&metadata, s->key, s->value, 0);
+ av_dict_set(metadata, s->key, s->value, 0);
}
return ff_filter_frame(outlink, frame);
break;
@@ -317,7 +317,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
s->print(ctx, "frame:%-4"PRId64" pts:%-7s pts_time:%-7s\n",
inlink->frame_count, av_ts2str(frame->pts), av_ts2timestr(frame->pts, &inlink->time_base));
s->print(ctx, "%s=%s\n", e->key, e->value);
- while ((e = av_dict_get(metadata, "", e, AV_DICT_IGNORE_SUFFIX)) != NULL) {
+ while ((e = av_dict_get(*metadata, "", e, AV_DICT_IGNORE_SUFFIX)) != NULL) {
s->print(ctx, "%s=%s\n", e->key, e->value);
}
} else if (e && e->value && (!s->value || (e->value && s->compare(s, e->value, s->value)))) {
@@ -329,9 +329,9 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
break;
case METADATA_DELETE:
if (e && e->value && s->value && s->compare(s, e->value, s->value)) {
- av_dict_set(&metadata, s->key, NULL, 0);
+ av_dict_set(metadata, s->key, NULL, 0);
} else if (e && e->value) {
- av_dict_set(&metadata, s->key, NULL, 0);
+ av_dict_set(metadata, s->key, NULL, 0);
}
return ff_filter_frame(outlink, frame);
break;