Top | ![]() |
![]() |
![]() |
![]() |
struct | GstBaseTransform |
struct | GstBaseTransformClass |
#define | GST_BASE_TRANSFORM_SINK_NAME |
#define | GST_BASE_TRANSFORM_SRC_NAME |
#define | GST_BASE_TRANSFORM_FLOW_DROPPED |
gboolean
gst_base_transform_is_passthrough (GstBaseTransform *trans
);
void gst_base_transform_set_passthrough (GstBaseTransform *trans
,gboolean passthrough
);
void gst_base_transform_set_prefer_passthrough (GstBaseTransform *trans
,gboolean prefer_passthrough
);
gboolean
gst_base_transform_is_in_place (GstBaseTransform *trans
);
void gst_base_transform_set_in_place (GstBaseTransform *trans
,gboolean in_place
);
gboolean
gst_base_transform_is_qos_enabled (GstBaseTransform *trans
);
void gst_base_transform_set_qos_enabled (GstBaseTransform *trans
,gboolean enabled
);
void gst_base_transform_update_qos (GstBaseTransform *trans
,gdouble proportion
,GstClockTimeDiff diff
,GstClockTime timestamp
);
void gst_base_transform_set_gap_aware (GstBaseTransform *trans
,gboolean gap_aware
);
void gst_base_transform_get_allocator (GstBaseTransform *trans
,GstAllocator **allocator
,GstAllocationParams *params
);
GstBufferPool *
gst_base_transform_get_buffer_pool (GstBaseTransform *trans
);
void
gst_base_transform_reconfigure_sink (GstBaseTransform *trans
);
void
gst_base_transform_reconfigure_src (GstBaseTransform *trans
);
gboolean gst_base_transform_update_src_caps (GstBaseTransform *trans
,GstCaps *updated_caps
);
#define GST_BASE_TRANSFORM_SINK_PAD(obj) (GST_BASE_TRANSFORM_CAST (obj)->sinkpad)
struct GstBaseTransformClass { GstElementClass parent_class; gboolean passthrough_on_same_caps; gboolean transform_ip_on_passthrough; /* virtual methods for subclasses */ GstCaps* (*transform_caps) (GstBaseTransform *trans, GstPadDirection direction, GstCaps *caps, GstCaps *filter); GstCaps* (*fixate_caps) (GstBaseTransform *trans, GstPadDirection direction, GstCaps *caps, GstCaps *othercaps); gboolean (*accept_caps) (GstBaseTransform *trans, GstPadDirection direction, GstCaps *caps); gboolean (*set_caps) (GstBaseTransform *trans, GstCaps *incaps, GstCaps *outcaps); gboolean (*query) (GstBaseTransform *trans, GstPadDirection direction, GstQuery *query); /* decide allocation query for output buffers */ gboolean (*decide_allocation) (GstBaseTransform *trans, GstQuery *query); gboolean (*filter_meta) (GstBaseTransform *trans, GstQuery *query, GType api, const GstStructure *params); /* propose allocation query parameters for input buffers */ gboolean (*propose_allocation) (GstBaseTransform *trans, GstQuery *decide_query, GstQuery *query); /* transform size */ gboolean (*transform_size) (GstBaseTransform *trans, GstPadDirection direction, GstCaps *caps, gsize size, GstCaps *othercaps, gsize *othersize); gboolean (*get_unit_size) (GstBaseTransform *trans, GstCaps *caps, gsize *size); /* states */ gboolean (*start) (GstBaseTransform *trans); gboolean (*stop) (GstBaseTransform *trans); /* sink and src pad event handlers */ gboolean (*sink_event) (GstBaseTransform *trans, GstEvent *event); gboolean (*src_event) (GstBaseTransform *trans, GstEvent *event); GstFlowReturn (*prepare_output_buffer) (GstBaseTransform * trans, GstBuffer *input, GstBuffer **outbuf); /* metadata */ gboolean (*copy_metadata) (GstBaseTransform *trans, GstBuffer *input, GstBuffer *outbuf); gboolean (*transform_meta) (GstBaseTransform *trans, GstBuffer *outbuf, GstMeta *meta, GstBuffer *inbuf); void (*before_transform) (GstBaseTransform *trans, GstBuffer *buffer); /* transform */ GstFlowReturn (*transform) (GstBaseTransform *trans, GstBuffer *inbuf, GstBuffer *outbuf); GstFlowReturn (*transform_ip) (GstBaseTransform *trans, GstBuffer *buf); GstFlowReturn (*submit_input_buffer) (GstBaseTransform *trans, gboolean is_discont, GstBuffer *input); GstFlowReturn (*generate_output) (GstBaseTransform *trans, GstBuffer **outbuf); };
“qos”
property“qos” gboolean
Handle Quality-of-Service events.
Flags: Read / Write
Default value: FALSE