23 #include <com/avpkit/ferry/RefCounted.h>
24 #include <com/avpkit/core/IMediaFilter.h>
27 #include "libavfilter/avfilter.h"
28 #include "libavutil/opt.h"
36 VS_JNIUTILS_REFCOUNTED_OBJECT_PRIVATE_MAKE(
MediaFilter)
38 static MediaFilter* make(AVFilterGraph* graph,
const char* name);
42 return av_opt_set_int(mFilterContext, name, value, AV_OPT_SEARCH_CHILDREN);
49 return av_opt_set_double(mFilterContext, name, value, AV_OPT_SEARCH_CHILDREN);
56 virtual int setProperty(
const char* name,
const char* value) {
58 avfilter_process_command(mFilterContext, name, value, 0, 0, 0);
59 return av_opt_set(mFilterContext, name, value, AV_OPT_SEARCH_CHILDREN);
67 return av_opt_set_q(mFilterContext, name, (AVRational) {
69 }, AV_OPT_SEARCH_CHILDREN);
75 return avfilter_init_str(mFilterContext, NULL);
82 virtual void setReady(){
88 const AVFilter* mFilter;
89 AVFilterContext* mFilterContext;
94 virtual ~MediaFilter();
96 int getAvailableInput() {
97 for (
int i = 0; i < mFilterContext->nb_inputs; i++) {
98 if (!mFilterContext->inputs[i]) {
105 int getAvailableOutput() {
106 for (
int i = 0; i < mFilterContext->nb_outputs; i++) {
107 if (!mFilterContext->outputs[i]) {
114 AVFilterContext* getAVFilter() {
115 return mFilterContext;
This class wraps represents a Rational number for the AVPKit.
virtual int32_t getDenominator()=0
Get the denominator for this rational.
virtual int32_t getNumerator()=0
Get the numerator for this rational.
WARNING: Do not use logging in this class, and do not set any static file variables to values other t...