GstPadLinkCheck
GST_PAD_LINK_CHECK_DEFAULT
GstFlowReturn
-GstActivateMode
+GstPadActivateMode
GstPadProbeReturn
GstPadProbeType
GST_PAD_PROBE_TYPE_BLOCKING
g_type_class_ref (gst_pad_link_return_get_type ());
g_type_class_ref (gst_pad_link_check_get_type ());
g_type_class_ref (gst_flow_return_get_type ());
- g_type_class_ref (gst_activate_mode_get_type ());
+ g_type_class_ref (gst_pad_activate_mode_get_type ());
g_type_class_ref (gst_pad_direction_get_type ());
g_type_class_ref (gst_pad_flags_get_type ());
g_type_class_ref (gst_pad_presence_get_type ());
g_type_class_unref (g_type_class_peek (gst_pad_link_return_get_type ()));
g_type_class_unref (g_type_class_peek (gst_pad_link_check_get_type ()));
g_type_class_unref (g_type_class_peek (gst_flow_return_get_type ()));
- g_type_class_unref (g_type_class_peek (gst_activate_mode_get_type ()));
+ g_type_class_unref (g_type_class_peek (gst_pad_activate_mode_get_type ()));
g_type_class_unref (g_type_class_peek (gst_pad_direction_get_type ()));
g_type_class_unref (g_type_class_peek (gst_pad_flags_get_type ()));
g_type_class_unref (g_type_class_peek (gst_pad_presence_get_type ()));
}
static void
-pre_activate (GstPad * pad, GstActivateMode new_mode)
+pre_activate (GstPad * pad, GstPadActivateMode new_mode)
{
switch (new_mode) {
- case GST_ACTIVATE_PUSH:
- case GST_ACTIVATE_PULL:
+ case GST_PAD_ACTIVATE_PUSH:
+ case GST_PAD_ACTIVATE_PULL:
GST_OBJECT_LOCK (pad);
GST_DEBUG_OBJECT (pad, "setting ACTIVATE_MODE %d, unset flushing",
new_mode);
GST_PAD_ACTIVATE_MODE (pad) = new_mode;
GST_OBJECT_UNLOCK (pad);
break;
- case GST_ACTIVATE_NONE:
+ case GST_PAD_ACTIVATE_NONE:
GST_OBJECT_LOCK (pad);
GST_DEBUG_OBJECT (pad, "setting ACTIVATE_MODE NONE, set flushing");
GST_PAD_SET_FLUSHING (pad);
}
static void
-post_activate (GstPad * pad, GstActivateMode new_mode)
+post_activate (GstPad * pad, GstPadActivateMode new_mode)
{
switch (new_mode) {
- case GST_ACTIVATE_PUSH:
- case GST_ACTIVATE_PULL:
+ case GST_PAD_ACTIVATE_PUSH:
+ case GST_PAD_ACTIVATE_PULL:
/* nop */
break;
- case GST_ACTIVATE_NONE:
+ case GST_PAD_ACTIVATE_NONE:
/* ensures that streaming stops */
GST_PAD_STREAM_LOCK (pad);
GST_DEBUG_OBJECT (pad, "stopped streaming");
gboolean
gst_pad_set_active (GstPad * pad, gboolean active)
{
- GstActivateMode old;
+ GstPadActivateMode old;
gboolean ret = FALSE;
g_return_val_if_fail (GST_IS_PAD (pad), FALSE);
if (active) {
switch (old) {
- case GST_ACTIVATE_PUSH:
+ case GST_PAD_ACTIVATE_PUSH:
GST_DEBUG_OBJECT (pad, "activating pad from push");
ret = TRUE;
break;
- case GST_ACTIVATE_PULL:
+ case GST_PAD_ACTIVATE_PULL:
GST_DEBUG_OBJECT (pad, "activating pad from pull");
ret = TRUE;
break;
- case GST_ACTIVATE_NONE:
+ case GST_PAD_ACTIVATE_NONE:
GST_DEBUG_OBJECT (pad, "activating pad from none");
ret = (GST_PAD_ACTIVATEFUNC (pad)) (pad);
break;
}
} else {
switch (old) {
- case GST_ACTIVATE_PUSH:
+ case GST_PAD_ACTIVATE_PUSH:
GST_DEBUG_OBJECT (pad, "deactivating pad from push");
ret = gst_pad_activate_push (pad, FALSE);
break;
- case GST_ACTIVATE_PULL:
+ case GST_PAD_ACTIVATE_PULL:
GST_DEBUG_OBJECT (pad, "deactivating pad from pull");
ret = gst_pad_activate_pull (pad, FALSE);
break;
- case GST_ACTIVATE_NONE:
+ case GST_PAD_ACTIVATE_NONE:
GST_DEBUG_OBJECT (pad, "deactivating pad from none");
ret = TRUE;
break;
gboolean
gst_pad_activate_pull (GstPad * pad, gboolean active)
{
- GstActivateMode old, new;
+ GstPadActivateMode old, new;
GstPad *peer;
g_return_val_if_fail (GST_IS_PAD (pad), FALSE);
if (active) {
switch (old) {
- case GST_ACTIVATE_PULL:
+ case GST_PAD_ACTIVATE_PULL:
GST_DEBUG_OBJECT (pad, "activating pad from pull, was ok");
goto was_ok;
- case GST_ACTIVATE_PUSH:
+ case GST_PAD_ACTIVATE_PUSH:
GST_DEBUG_OBJECT (pad,
"activating pad from push, deactivate push first");
/* pad was activate in the wrong direction, deactivate it
if (G_UNLIKELY (!gst_pad_activate_push (pad, FALSE)))
goto deactivate_failed;
/* fallthrough, pad is deactivated now. */
- case GST_ACTIVATE_NONE:
+ case GST_PAD_ACTIVATE_NONE:
GST_DEBUG_OBJECT (pad, "activating pad from none");
break;
}
} else {
switch (old) {
- case GST_ACTIVATE_NONE:
+ case GST_PAD_ACTIVATE_NONE:
GST_DEBUG_OBJECT (pad, "deactivating pad from none, was ok");
goto was_ok;
- case GST_ACTIVATE_PUSH:
+ case GST_PAD_ACTIVATE_PUSH:
GST_DEBUG_OBJECT (pad, "deactivating pad from push, weird");
/* pad was activated in the other direction, deactivate it
* in push mode, this should not happen... */
goto deactivate_failed;
/* everything is fine now */
goto was_ok;
- case GST_ACTIVATE_PULL:
+ case GST_PAD_ACTIVATE_PULL:
GST_DEBUG_OBJECT (pad, "deactivating pad from pull");
break;
}
getrange function */
}
- new = active ? GST_ACTIVATE_PULL : GST_ACTIVATE_NONE;
+ new = active ? GST_PAD_ACTIVATE_PULL : GST_PAD_ACTIVATE_NONE;
pre_activate (pad, new);
if (GST_PAD_ACTIVATEPULLFUNC (pad)) {
gboolean
gst_pad_activate_push (GstPad * pad, gboolean active)
{
- GstActivateMode old, new;
+ GstPadActivateMode old, new;
g_return_val_if_fail (GST_IS_PAD (pad), FALSE);
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "trying to set %s in push mode",
if (active) {
switch (old) {
- case GST_ACTIVATE_PUSH:
+ case GST_PAD_ACTIVATE_PUSH:
GST_DEBUG_OBJECT (pad, "activating pad from push, was ok");
goto was_ok;
- case GST_ACTIVATE_PULL:
+ case GST_PAD_ACTIVATE_PULL:
GST_DEBUG_OBJECT (pad,
"activating pad from push, deactivating pull first");
/* pad was activate in the wrong direction, deactivate it
if (G_UNLIKELY (!gst_pad_activate_pull (pad, FALSE)))
goto deactivate_failed;
/* fallthrough, pad is deactivated now. */
- case GST_ACTIVATE_NONE:
+ case GST_PAD_ACTIVATE_NONE:
GST_DEBUG_OBJECT (pad, "activating pad from none");
break;
}
} else {
switch (old) {
- case GST_ACTIVATE_NONE:
+ case GST_PAD_ACTIVATE_NONE:
GST_DEBUG_OBJECT (pad, "deactivating pad from none, was ok");
goto was_ok;
- case GST_ACTIVATE_PULL:
+ case GST_PAD_ACTIVATE_PULL:
GST_DEBUG_OBJECT (pad, "deactivating pad from pull, weird");
/* pad was activated in the other direction, deactivate it
* in pull mode, this should not happen... */
goto deactivate_failed;
/* everything is fine now */
goto was_ok;
- case GST_ACTIVATE_PUSH:
+ case GST_PAD_ACTIVATE_PUSH:
GST_DEBUG_OBJECT (pad, "deactivating pad from push");
break;
}
}
- new = active ? GST_ACTIVATE_PUSH : GST_ACTIVATE_NONE;
+ new = active ? GST_PAD_ACTIVATE_PUSH : GST_PAD_ACTIVATE_NONE;
pre_activate (pad, new);
if (GST_PAD_ACTIVATEPUSHFUNC (pad)) {
GST_OBJECT_LOCK (pad);
- /* FIXME : I'm not checking for != GST_ACTIVATE_correct_direction
+ /* FIXME : I'm not checking for != GST_PAD_ACTIVATE_correct_direction
* because the pad might not be activated yet.
* This means that _add_probe() might return a valid probeid ...
* which will potentially never be called if the pad
* is activated in the wrong direction */
if (G_UNLIKELY ((mask & GST_PAD_PROBE_TYPE_PUSH) &&
- (GST_PAD_ACTIVATE_MODE (pad) == GST_ACTIVATE_PULL)))
+ (GST_PAD_ACTIVATE_MODE (pad) == GST_PAD_ACTIVATE_PULL)))
goto wrong_direction;
if (G_UNLIKELY ((mask & GST_PAD_PROBE_TYPE_PULL) &&
- (GST_PAD_ACTIVATE_MODE (pad) == GST_ACTIVATE_PUSH)))
+ (GST_PAD_ACTIVATE_MODE (pad) == GST_PAD_ACTIVATE_PUSH)))
goto wrong_direction;
/* make a new probe */
needs_events = FALSE;
break;
case GST_EVENT_FLUSH_STOP:
- if (G_LIKELY (GST_PAD_ACTIVATE_MODE (pad) != GST_ACTIVATE_NONE)) {
+ if (G_LIKELY (GST_PAD_ACTIVATE_MODE (pad) != GST_PAD_ACTIVATE_NONE)) {
GST_PAD_UNSET_FLUSHING (pad);
GST_CAT_DEBUG_OBJECT (GST_CAT_EVENT, pad, "cleared flush flag");
}
#define GST_PAD_LINK_CHECK_DEFAULT ((GstPadLinkCheck) (GST_PAD_LINK_CHECK_HIERARCHY | GST_PAD_LINK_CHECK_CAPS))
/**
- * GstActivateMode:
- * @GST_ACTIVATE_NONE: Pad will not handle dataflow
- * @GST_ACTIVATE_PUSH: Pad handles dataflow in downstream push mode
- * @GST_ACTIVATE_PULL: Pad handles dataflow in upstream pull mode
+ * GstPadActivateMode:
+ * @GST_PAD_ACTIVATE_NONE: Pad will not handle dataflow
+ * @GST_PAD_ACTIVATE_PUSH: Pad handles dataflow in downstream push mode
+ * @GST_PAD_ACTIVATE_PULL: Pad handles dataflow in upstream pull mode
*
* The status of a GstPad. After activating a pad, which usually happens when the
- * parent element goes from READY to PAUSED, the GstActivateMode defines if the
+ * parent element goes from READY to PAUSED, the GstPadActivateMode defines if the
* pad operates in push or pull mode.
*/
typedef enum {
- GST_ACTIVATE_NONE,
- GST_ACTIVATE_PUSH,
- GST_ACTIVATE_PULL
-} GstActivateMode;
+ GST_PAD_ACTIVATE_NONE,
+ GST_PAD_ACTIVATE_PUSH,
+ GST_PAD_ACTIVATE_PULL
+} GstPadActivateMode;
/* pad states */
/**
GstPadAcceptCapsFunction acceptcapsfunc;
GstPadFixateCapsFunction fixatecapsfunc;
- GstActivateMode mode;
+ GstPadActivateMode mode;
GstPadActivateFunction activatefunc;
GstPadActivateModeFunction activatepushfunc;
GstPadActivateModeFunction activatepullfunc;
#define GST_PAD_IS_LINKED(pad) (GST_PAD_PEER(pad) != NULL)
-#define GST_PAD_IS_ACTIVE(pad) (GST_PAD_ACTIVATE_MODE(pad) != GST_ACTIVATE_NONE)
+#define GST_PAD_IS_ACTIVE(pad) (GST_PAD_ACTIVATE_MODE(pad) != GST_PAD_ACTIVATE_NONE)
#define GST_PAD_IS_BLOCKED(pad) (GST_OBJECT_FLAG_IS_SET (pad, GST_PAD_BLOCKED))
#define GST_PAD_IS_BLOCKING(pad) (GST_OBJECT_FLAG_IS_SET (pad, GST_PAD_BLOCKING))
struct _GstBaseParsePrivate
{
- GstActivateMode pad_mode;
+ GstPadActivateMode pad_mode;
GstAdapter *adapter;
parse->priv->adapter = gst_adapter_new ();
- parse->priv->pad_mode = GST_ACTIVATE_NONE;
+ parse->priv->pad_mode = GST_PAD_ACTIVATE_NONE;
g_static_mutex_init (&parse->priv->index_lock);
* If so, that allows and enables extra seek and duration determining options */
if (G_UNLIKELY (parse->priv->first_frame_offset < 0 && ret == GST_FLOW_OK)) {
if (GST_BUFFER_TIMESTAMP_IS_VALID (buffer) && parse->priv->has_timing_info
- && parse->priv->pad_mode == GST_ACTIVATE_PULL) {
+ && parse->priv->pad_mode == GST_PAD_ACTIVATE_PULL) {
parse->priv->first_frame_offset = offset;
parse->priv->first_frame_ts = GST_BUFFER_TIMESTAMP (buffer);
GST_DEBUG_OBJECT (parse, "subclass provided ts %" GST_TIME_FORMAT
/* segment adjustment magic; only if we are running the whole show */
if (!parse->priv->passthrough && parse->segment.rate > 0.0 &&
- (parse->priv->pad_mode == GST_ACTIVATE_PULL ||
+ (parse->priv->pad_mode == GST_PAD_ACTIVATE_PULL ||
parse->priv->upstream_seekable)) {
/* segment times are typically estimates,
* actual frame data might lead subclass to different timestamps,
parse->priv->pending_segment = NULL;
GST_DEBUG_OBJECT (parse, "%s push pending segment",
- parse->priv->pad_mode == GST_ACTIVATE_PULL ? "loop" : "chain");
+ parse->priv->pad_mode == GST_PAD_ACTIVATE_PULL ? "loop" : "chain");
gst_pad_push_event (parse->srcpad, pending_segment);
/* have caps; check identity */
/* if we are not sufficiently in control, let upstream decide on EOS */
if (ret == GST_FLOW_EOS &&
(parse->priv->passthrough ||
- (parse->priv->pad_mode == GST_ACTIVATE_PUSH &&
+ (parse->priv->pad_mode == GST_PAD_ACTIVATE_PUSH &&
!parse->priv->upstream_seekable)))
ret = GST_FLOW_OK;
}
klass = GST_BASE_PARSE_GET_CLASS (parse);
if (active) {
- if (parse->priv->pad_mode == GST_ACTIVATE_NONE && klass->start)
+ if (parse->priv->pad_mode == GST_PAD_ACTIVATE_NONE && klass->start)
result = klass->start (parse);
/* If the subclass implements ::detect we want to
GST_PAD_STREAM_LOCK (parse->sinkpad);
GST_PAD_STREAM_UNLOCK (parse->sinkpad);
- if (parse->priv->pad_mode != GST_ACTIVATE_NONE && klass->stop)
+ if (parse->priv->pad_mode != GST_PAD_ACTIVATE_NONE && klass->stop)
result = klass->stop (parse);
- parse->priv->pad_mode = GST_ACTIVATE_NONE;
+ parse->priv->pad_mode = GST_PAD_ACTIVATE_NONE;
}
GST_DEBUG_OBJECT (parse, "activate return: %d", result);
return result;
result = gst_base_parse_activate (parse, active);
if (result)
- parse->priv->pad_mode = active ? GST_ACTIVATE_PUSH : GST_ACTIVATE_NONE;
+ parse->priv->pad_mode =
+ active ? GST_PAD_ACTIVATE_PUSH : GST_PAD_ACTIVATE_NONE;
GST_DEBUG_OBJECT (parse, "sink activate push return: %d", result);
}
if (result)
- parse->priv->pad_mode = active ? GST_ACTIVATE_PULL : GST_ACTIVATE_NONE;
+ parse->priv->pad_mode =
+ active ? GST_PAD_ACTIVATE_PULL : GST_PAD_ACTIVATE_NONE;
GST_DEBUG_OBJECT (parse, "sink activate pull return: %d", result);
/* check preconditions are satisfied;
* start and end are needed, except for special case where we scan for
* last frame to determine duration */
- if (parse->priv->pad_mode != GST_ACTIVATE_PULL || !hpos ||
+ if (parse->priv->pad_mode != GST_PAD_ACTIVATE_PULL || !hpos ||
!GST_CLOCK_TIME_IS_VALID (ltime) ||
(!GST_CLOCK_TIME_IS_VALID (htime) && time != G_MAXINT64)) {
return GST_FLOW_OK;
cur_type, GST_TIME_ARGS (cur), stop_type, GST_TIME_ARGS (stop));
/* no negative rates in push mode */
- if (rate < 0.0 && parse->priv->pad_mode == GST_ACTIVATE_PUSH)
+ if (rate < 0.0 && parse->priv->pad_mode == GST_PAD_ACTIVATE_PUSH)
goto negative_rate;
if (cur_type != GST_SEEK_TYPE_SET ||
"seek stop %" G_GINT64_FORMAT " in bytes: %" G_GINT64_FORMAT,
seeksegment.stop, seekstop);
- if (parse->priv->pad_mode == GST_ACTIVATE_PULL) {
+ if (parse->priv->pad_mode == GST_PAD_ACTIVATE_PULL) {
gint64 last_stop;
GST_DEBUG_OBJECT (parse, "seek in PULL mode");
bsink = GST_BASE_SINK (gst_pad_get_parent (pad));
bclass = GST_BASE_SINK_GET_CLASS (bsink);
- if (bsink->pad_mode == GST_ACTIVATE_PULL) {
+ if (bsink->pad_mode == GST_PAD_ACTIVATE_PULL) {
/* if we are operating in pull mode we only accept the negotiated caps */
caps = gst_pad_get_current_caps (pad);
}
gst_pad_set_chain_list_function (basesink->sinkpad, gst_base_sink_chain_list);
gst_element_add_pad (GST_ELEMENT_CAST (basesink), basesink->sinkpad);
- basesink->pad_mode = GST_ACTIVATE_NONE;
+ basesink->pad_mode = GST_PAD_ACTIVATE_NONE;
basesink->preroll_lock = g_mutex_new ();
basesink->preroll_cond = g_cond_new ();
priv->preroll_queue = g_queue_new ();
basesink->priv->call_preroll = TRUE;
basesink->priv->current_step.valid = FALSE;
basesink->priv->pending_step.valid = FALSE;
- if (basesink->pad_mode == GST_ACTIVATE_PUSH) {
+ if (basesink->pad_mode == GST_PAD_ACTIVATE_PUSH) {
/* we need new segment info after the flush. */
basesink->have_newsegment = FALSE;
if (reset_time) {
{
GstFlowReturn result;
- if (G_UNLIKELY (basesink->pad_mode != GST_ACTIVATE_PUSH))
+ if (G_UNLIKELY (basesink->pad_mode != GST_PAD_ACTIVATE_PUSH))
goto wrong_mode;
GST_BASE_SINK_PREROLL_LOCK (basesink);
basesink = GST_BASE_SINK (GST_OBJECT_PARENT (pad));
- g_assert (basesink->pad_mode == GST_ACTIVATE_PULL);
+ g_assert (basesink->pad_mode == GST_PAD_ACTIVATE_PULL);
if ((blocksize = basesink->priv->blocksize) == 0)
blocksize = -1;
/* set the pad mode before starting the task so that it's in the
* correct state for the new thread. also the sink set_caps and get_caps
* function checks this */
- basesink->pad_mode = GST_ACTIVATE_PULL;
+ basesink->pad_mode = GST_PAD_ACTIVATE_PULL;
/* we first try to negotiate a format so that when we try to activate
* downstream, it knows about our format */
if (active) {
if (!basesink->can_activate_push) {
result = FALSE;
- basesink->pad_mode = GST_ACTIVATE_NONE;
+ basesink->pad_mode = GST_PAD_ACTIVATE_NONE;
} else {
result = TRUE;
- basesink->pad_mode = GST_ACTIVATE_PUSH;
+ basesink->pad_mode = GST_PAD_ACTIVATE_PUSH;
}
} else {
- if (G_UNLIKELY (basesink->pad_mode != GST_ACTIVATE_PUSH)) {
+ if (G_UNLIKELY (basesink->pad_mode != GST_PAD_ACTIVATE_PUSH)) {
g_warning ("Internal GStreamer activation error!!!");
result = FALSE;
} else {
gst_base_sink_set_flushing (basesink, pad, TRUE);
result = TRUE;
- basesink->pad_mode = GST_ACTIVATE_NONE;
+ basesink->pad_mode = GST_PAD_ACTIVATE_NONE;
}
}
goto activate_failed;
} else {
- if (G_UNLIKELY (basesink->pad_mode != GST_ACTIVATE_PULL)) {
+ if (G_UNLIKELY (basesink->pad_mode != GST_PAD_ACTIVATE_PULL)) {
g_warning ("Internal GStreamer activation error!!!");
result = FALSE;
} else {
result = gst_base_sink_set_flushing (basesink, pad, TRUE);
if (bclass->activate_pull)
result &= bclass->activate_pull (basesink, FALSE);
- basesink->pad_mode = GST_ACTIVATE_NONE;
+ basesink->pad_mode = GST_PAD_ACTIVATE_NONE;
/* clear any pending caps */
GST_OBJECT_LOCK (basesink);
gst_caps_replace (&basesink->priv->pull_caps, NULL);
activate_failed:
{
/* reset, as starting the thread failed */
- basesink->pad_mode = GST_ACTIVATE_NONE;
+ basesink->pad_mode = GST_PAD_ACTIVATE_NONE;
GST_ERROR_OBJECT (basesink, "subclass failed to activate in pull mode");
return FALSE;
GstPad *pad;
GstBaseSink *basesink = GST_BASE_SINK (element);
gboolean forward, result = TRUE;
- GstActivateMode mode;
+ GstPadActivateMode mode;
GST_OBJECT_LOCK (element);
/* get the pad and the scheduling mode */
}
case GST_EVENT_SEEK:
/* in pull mode we will execute the seek */
- if (mode == GST_ACTIVATE_PULL)
+ if (mode == GST_PAD_ACTIVATE_PULL)
result = gst_base_sink_perform_seek (basesink, pad, event);
break;
case GST_EVENT_STEP:
/* we don't use the clip segment in pull mode, when seeking we update the
* main segment directly with the new segment values without it having to be
* activated by the rendering after preroll */
- if (basesink->pad_mode == GST_ACTIVATE_PUSH)
+ if (basesink->pad_mode == GST_PAD_ACTIVATE_PUSH)
segment = &basesink->clip_segment;
else
segment = &basesink->segment;
{
gboolean res = FALSE;
- if (basesink->pad_mode == GST_ACTIVATE_PULL) {
+ if (basesink->pad_mode == GST_PAD_ACTIVATE_PULL) {
gint64 uduration;
/* get the duration in bytes, in pull mode that's all we are sure to
break;
case GST_QUERY_SEGMENT:
{
- if (basesink->pad_mode == GST_ACTIVATE_PULL) {
+ if (basesink->pad_mode == GST_PAD_ACTIVATE_PULL) {
gst_query_set_segment (query, basesink->segment.rate,
GST_FORMAT_TIME, basesink->segment.start, basesink->segment.stop);
res = TRUE;
/*< protected >*/
GstPad *sinkpad;
- GstActivateMode pad_mode;
+ GstPadActivateMode pad_mode;
/*< protected >*/ /* with LOCK */
guint64 offset;
gboolean started;
GST_OBJECT_LOCK (src->srcpad);
- if (GST_PAD_ACTIVATE_MODE (src->srcpad) == GST_ACTIVATE_PULL)
+ if (GST_PAD_ACTIVATE_MODE (src->srcpad) == GST_PAD_ACTIVATE_PULL)
goto wrong_mode;
- started = GST_PAD_ACTIVATE_MODE (src->srcpad) == GST_ACTIVATE_PUSH;
+ started = GST_PAD_ACTIVATE_MODE (src->srcpad) == GST_PAD_ACTIVATE_PUSH;
GST_OBJECT_UNLOCK (src->srcpad);
if (started) {
/* have to restart the task in case it stopped because of the unlock when
* we went to PAUSED. Only do this if we operating in push mode. */
GST_OBJECT_LOCK (basesrc->srcpad);
- start = (GST_PAD_ACTIVATE_MODE (basesrc->srcpad) == GST_ACTIVATE_PUSH);
+ start = (GST_PAD_ACTIVATE_MODE (basesrc->srcpad) == GST_PAD_ACTIVATE_PUSH);
GST_OBJECT_UNLOCK (basesrc->srcpad);
if (start)
gst_pad_start_task (basesrc->srcpad, (GstTaskFunction) gst_base_src_loop,
/* previous buffer had a discont */
gboolean discont;
- GstActivateMode pad_mode;
+ GstPadActivateMode pad_mode;
gboolean gap_aware;
trans->priv->qos_enabled = DEFAULT_PROP_QOS;
trans->cache_caps1 = NULL;
trans->cache_caps2 = NULL;
- trans->priv->pad_mode = GST_ACTIVATE_NONE;
+ trans->priv->pad_mode = GST_PAD_ACTIVATE_NONE;
trans->priv->gap_aware = FALSE;
trans->passthrough = FALSE;
/* we know this will work, we implement the setcaps */
gst_pad_push_event (otherpad, gst_event_new_caps (othercaps));
- if (pad == trans->srcpad && trans->priv->pad_mode == GST_ACTIVATE_PULL) {
+ if (pad == trans->srcpad && trans->priv->pad_mode == GST_PAD_ACTIVATE_PULL) {
/* FIXME hm? */
ret &= gst_pad_push_event (otherpeer, gst_event_new_caps (othercaps));
if (!ret) {
if (active) {
GstCaps *incaps, *outcaps;
- if (trans->priv->pad_mode == GST_ACTIVATE_NONE && bclass->start)
+ if (trans->priv->pad_mode == GST_PAD_ACTIVATE_NONE && bclass->start)
result &= bclass->start (trans);
incaps = gst_pad_get_current_caps (trans->sinkpad);
gst_caps_replace (&trans->cache_caps1, NULL);
gst_caps_replace (&trans->cache_caps2, NULL);
- if (trans->priv->pad_mode != GST_ACTIVATE_NONE && bclass->stop)
+ if (trans->priv->pad_mode != GST_PAD_ACTIVATE_NONE && bclass->stop)
result &= bclass->stop (trans);
gst_base_transform_set_allocation (trans, NULL, NULL, 0, 0);
result = gst_base_transform_activate (trans, active);
if (result)
- trans->priv->pad_mode = active ? GST_ACTIVATE_PUSH : GST_ACTIVATE_NONE;
+ trans->priv->pad_mode =
+ active ? GST_PAD_ACTIVATE_PUSH : GST_PAD_ACTIVATE_NONE;
gst_object_unref (trans);
result &= gst_base_transform_activate (trans, active);
if (result)
- trans->priv->pad_mode = active ? GST_ACTIVATE_PULL : GST_ACTIVATE_NONE;
+ trans->priv->pad_mode =
+ active ? GST_PAD_ACTIVATE_PULL : GST_PAD_ACTIVATE_NONE;
gst_object_unref (trans);
tee->dyn_lock = g_mutex_new ();
tee->sinkpad = gst_pad_new_from_static_template (&sinktemplate, "sink");
- tee->sink_mode = GST_ACTIVATE_NONE;
+ tee->sink_mode = GST_PAD_ACTIVATE_NONE;
gst_pad_set_event_function (tee->sinkpad,
GST_DEBUG_FUNCPTR (gst_tee_sink_event));
gchar *name;
GstPad *srcpad;
GstTee *tee;
- GstActivateMode mode;
+ GstPadActivateMode mode;
gboolean res;
PushData *data;
GST_OBJECT_UNLOCK (tee);
switch (mode) {
- case GST_ACTIVATE_PULL:
+ case GST_PAD_ACTIVATE_PULL:
/* we already have a src pad in pull mode, and our pull mode can only be
SINGLE, so fall through to activate this new pad in push mode */
- case GST_ACTIVATE_PUSH:
+ case GST_PAD_ACTIVATE_PUSH:
res = gst_pad_activate_push (srcpad, TRUE);
break;
default:
tee = GST_TEE (GST_OBJECT_PARENT (pad));
GST_OBJECT_LOCK (tee);
- tee->sink_mode = active && GST_ACTIVATE_PUSH;
+ tee->sink_mode = active && GST_PAD_ACTIVATE_PUSH;
if (active && !tee->has_chain)
goto no_chain;
if (pad == tee->pull_pad)
tee->pull_pad = NULL;
}
- tee->sink_mode = active & GST_ACTIVATE_PULL;
+ tee->sink_mode = active & GST_PAD_ACTIVATE_PULL;
GST_OBJECT_UNLOCK (tee);
gst_object_unref (tee);
gboolean silent;
gchar *last_message;
- GstActivateMode sink_mode;
+ GstPadActivateMode sink_mode;
GstTeePullMode pull_mode;
GstPad *pull_pad;
};
{
static gsize id = 0;
static const GEnumValue values[] = {
- {C_ENUM (GST_ACTIVATE_NONE), "GST_ACTIVATE_NONE", "none"},
- {C_ENUM (GST_ACTIVATE_PUSH), "GST_ACTIVATE_PUSH", "push"},
- {C_ENUM (GST_ACTIVATE_PULL), "GST_ACTIVATE_PULL", "pull"},
+ {C_ENUM (GST_PAD_ACTIVATE_NONE), "GST_PAD_ACTIVATE_NONE", "none"},
+ {C_ENUM (GST_PAD_ACTIVATE_PUSH), "GST_PAD_ACTIVATE_PUSH", "push"},
+ {C_ENUM (GST_PAD_ACTIVATE_PULL), "GST_PAD_ACTIVATE_PULL", "pull"},
{0, NULL, NULL}
};
if (g_once_init_enter (&id)) {
- GType tmp = g_enum_register_static ("GstActivateMode", values);
+ GType tmp = g_enum_register_static ("GstPadActivateMode", values);
g_once_init_leave (&id, tmp);
}
_gst_trace_add_entry
_gst_trace_mutex DATA
_gst_trace_on DATA
- gst_activate_mode_get_type
gst_alloc_trace_available
gst_alloc_trace_flags_get_type
gst_alloc_trace_get
gst_object_unparent
gst_object_unref
gst_pad_accept_caps
+ gst_pad_activate_mode_get_type
gst_pad_activate_pull
gst_pad_activate_push
gst_pad_add_probe