Message ID | 20210623004159.27110-1-cus@passwd.hu |
---|---|
State | Accepted |
Commit | 758e2da28939c156b18c11c3993ea068da3ea869 |
Headers | show |
Series | [FFmpeg-devel] avfilter/f_metadata: do not return the frame early if there is no metadata | expand |
Context | Check | Description |
---|---|---|
andriy/x86_make | success | Make finished |
andriy/x86_make_fate | fail | Make fate failed |
andriy/PPC64_make | success | Make finished |
andriy/PPC64_make_fate | warning | Make fate failed |
On 2021-06-23 06:11, Marton Balint wrote: > The early return caused isses for the "add" mode (got fixed in > c95dfe5cce98cde3e7fb14fbd04b3897f3927cec) and the "select" mode needs a similar > fix. It is probably better to fully remove the check, since all modes work > correctly with NULL metadata. Doesn't select mode imply the presence of a dictionary? > > Signed-off-by: Marton Balint <cus@passwd.hu> > --- > libavfilter/f_metadata.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/libavfilter/f_metadata.c b/libavfilter/f_metadata.c > index e7c7b00118..d0a78b00d0 100644 > --- a/libavfilter/f_metadata.c > +++ b/libavfilter/f_metadata.c > @@ -308,9 +308,6 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame) > AVDictionary **metadata = &frame->metadata; > AVDictionaryEntry *e; > > - if (!*metadata && s->mode != METADATA_ADD) > - return ff_filter_frame(outlink, frame); > - > e = av_dict_get(*metadata, !s->key ? "" : s->key, NULL, > !s->key ? AV_DICT_IGNORE_SUFFIX: 0); >
On Wed, 23 Jun 2021, Gyan Doshi wrote: > > > On 2021-06-23 06:11, Marton Balint wrote: >> The early return caused isses for the "add" mode (got fixed in >> c95dfe5cce98cde3e7fb14fbd04b3897f3927cec) and the "select" mode needs a >> similar >> fix. It is probably better to fully remove the check, since all modes work >> correctly with NULL metadata. > > Doesn't select mode imply the presence of a dictionary? Select mode selects frames with metadata, if there is no metadata the frame should NOT be selected, but currently it is. Regards, Marton > >> >> Signed-off-by: Marton Balint <cus@passwd.hu> >> --- >> libavfilter/f_metadata.c | 3 --- >> 1 file changed, 3 deletions(-) >> >> diff --git a/libavfilter/f_metadata.c b/libavfilter/f_metadata.c >> index e7c7b00118..d0a78b00d0 100644 >> --- a/libavfilter/f_metadata.c >> +++ b/libavfilter/f_metadata.c >> @@ -308,9 +308,6 @@ static int filter_frame(AVFilterLink *inlink, AVFrame >> *frame) >> AVDictionary **metadata = &frame->metadata; >> AVDictionaryEntry *e; >> - if (!*metadata && s->mode != METADATA_ADD) >> - return ff_filter_frame(outlink, frame); >> - >> e = av_dict_get(*metadata, !s->key ? "" : s->key, NULL, >> !s->key ? AV_DICT_IGNORE_SUFFIX: 0); >> > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". >
On Wed, 23 Jun 2021, Marton Balint wrote: > > > On Wed, 23 Jun 2021, Gyan Doshi wrote: > >> >> >> On 2021-06-23 06:11, Marton Balint wrote: >>> The early return caused isses for the "add" mode (got fixed in >>> c95dfe5cce98cde3e7fb14fbd04b3897f3927cec) and the "select" mode needs a >>> similar >>> fix. It is probably better to fully remove the check, since all modes work >>> correctly with NULL metadata. >> >> Doesn't select mode imply the presence of a dictionary? > > Select mode selects frames with metadata, if there is no metadata the frame > should NOT be selected, but currently it is. Will apply. Regards, Marton
diff --git a/libavfilter/f_metadata.c b/libavfilter/f_metadata.c index e7c7b00118..d0a78b00d0 100644 --- a/libavfilter/f_metadata.c +++ b/libavfilter/f_metadata.c @@ -308,9 +308,6 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame) AVDictionary **metadata = &frame->metadata; AVDictionaryEntry *e; - if (!*metadata && s->mode != METADATA_ADD) - return ff_filter_frame(outlink, frame); - e = av_dict_get(*metadata, !s->key ? "" : s->key, NULL, !s->key ? AV_DICT_IGNORE_SUFFIX: 0);
The early return caused isses for the "add" mode (got fixed in c95dfe5cce98cde3e7fb14fbd04b3897f3927cec) and the "select" mode needs a similar fix. It is probably better to fully remove the check, since all modes work correctly with NULL metadata. Signed-off-by: Marton Balint <cus@passwd.hu> --- libavfilter/f_metadata.c | 3 --- 1 file changed, 3 deletions(-)