mirror of https://git.ffmpeg.org/ffmpeg.git
avfilter/f_metadata: add pts_time to print output
This allows e.g. to correlate signalstats metadata to time position without having to find out the filter chain timebase first. Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com> Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
ca5ec2bf51
commit
21f9fbce5c
|
@ -30,6 +30,7 @@
|
||||||
#include "libavutil/eval.h"
|
#include "libavutil/eval.h"
|
||||||
#include "libavutil/internal.h"
|
#include "libavutil/internal.h"
|
||||||
#include "libavutil/opt.h"
|
#include "libavutil/opt.h"
|
||||||
|
#include "libavutil/timestamp.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "audio.h"
|
#include "audio.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
@ -305,13 +306,15 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
|
||||||
break;
|
break;
|
||||||
case METADATA_PRINT:
|
case METADATA_PRINT:
|
||||||
if (!s->key && e) {
|
if (!s->key && e) {
|
||||||
s->print(ctx, "frame %"PRId64" pts %"PRId64"\n", inlink->frame_count, frame->pts);
|
s->print(ctx, "frame %"PRId64" pts %"PRId64" pts_time %s\n",
|
||||||
|
inlink->frame_count, frame->pts, av_ts2timestr(frame->pts, &inlink->time_base));
|
||||||
s->print(ctx, "%s=%s\n", e->key, e->value);
|
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);
|
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)))) {
|
} else if (e && e->value && (!s->value || (e->value && s->compare(s, e->value, s->value)))) {
|
||||||
s->print(ctx, "frame %"PRId64" pts %"PRId64"\n", inlink->frame_count, frame->pts);
|
s->print(ctx, "frame %"PRId64" pts %"PRId64" pts_time %s\n",
|
||||||
|
inlink->frame_count, frame->pts, av_ts2timestr(frame->pts, &inlink->time_base));
|
||||||
s->print(ctx, "%s=%s\n", s->key, e->value);
|
s->print(ctx, "%s=%s\n", s->key, e->value);
|
||||||
}
|
}
|
||||||
return ff_filter_frame(outlink, frame);
|
return ff_filter_frame(outlink, frame);
|
||||||
|
|
Loading…
Reference in New Issue