43 int64_t sleep =
pts - now +
s->delta;
49 if (
FFABS(sleep) >
s->limit /
s->speed) {
51 "time discontinuity detected: %"PRIi64
" us, resetting\n",
58 for (; sleep > 600000000; sleep -= 600000000)
66 #define OFFSET(x) offsetof(RealtimeContext, x)
67 #define FLAGS AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_FILTERING_PARAM
74 #if CONFIG_REALTIME_FILTER
75 #define realtime_options options
78 static const AVFilterPad avfilter_vf_realtime_inputs[] = {
87 static const AVFilterPad avfilter_vf_realtime_outputs[] = {
99 .priv_class = &realtime_class,
100 .
inputs = avfilter_vf_realtime_inputs,
101 .
outputs = avfilter_vf_realtime_outputs,
105 #if CONFIG_AREALTIME_FILTER
107 #define arealtime_options options
131 .priv_class = &arealtime_class,
132 .
inputs = arealtime_inputs,
static const AVFilterPad inputs[]
static const AVFilterPad outputs[]
int ff_filter_frame(AVFilterLink *link, AVFrame *frame)
Send a frame of data to the next filter.
Main libavfilter public API header.
#define FFABS(a)
Absolute value, Note, INT_MIN / INT64_MIN result in undefined behavior as they are not representable ...
static const AVOption options[]
static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
#define AV_LOG_DEBUG
Stuff which is only useful for libav* developers.
#define AV_LOG_WARNING
Something somehow does not look correct.
int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq)
Rescale a 64-bit integer by 2 rational numbers.
#define AV_NOPTS_VALUE
Undefined timestamp value.
#define AV_TIME_BASE_Q
Internal time base represented as fractional value.
#define AVFILTER_DEFINE_CLASS(fname)
common internal API header
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Describe the class of an AVClass context structure.
AVFilterLink ** outputs
array of pointers to output links
A link between two filters.
AVRational time_base
Define the time base used by the PTS of the frames/samples which will pass through this link.
AVFilterContext * dst
dest filter
A filter pad used for either input or output.
const char * name
Pad name.
const char * name
Filter name.
This structure describes decoded (raw) audio or video data.
int64_t pts
Presentation timestamp in time_base units (time when frame should be shown to user).
int av_usleep(unsigned usec)
Sleep for a period of time.
int64_t av_gettime_relative(void)
Get the current time in microseconds since some unspecified starting point.