basesink: small cleanups

This commit is contained in:
Wim Taymans 2009-05-18 18:41:45 +02:00 committed by Wim Taymans
parent 0c205b96b4
commit 4be27fa555

View file

@ -2509,13 +2509,17 @@ static GstFlowReturn
gst_base_sink_render_object (GstBaseSink * basesink, GstPad * pad,
GstMiniObject * obj)
{
GstFlowReturn ret = GST_FLOW_OK;
GstFlowReturn ret;
GstBaseSinkClass *bclass;
gboolean late = FALSE;
gboolean late;
GstBaseSinkPrivate *priv;
priv = basesink->priv;
late = FALSE;
ret = GST_FLOW_OK;
/* synchronize this object, non syncable objects return OK
* immediatly. */
ret = gst_base_sink_do_sync (basesink, pad, obj, &late);
@ -3384,6 +3388,7 @@ gst_base_sink_perform_step (GstBaseSink * sink, GstPad * pad, GstEvent * event)
GstFormat format;
guint64 amount;
guint seqnum;
GstStepInfo *pending;
bclass = GST_BASE_SINK_GET_CLASS (sink);
priv = sink->priv;
@ -3393,6 +3398,8 @@ gst_base_sink_perform_step (GstBaseSink * sink, GstPad * pad, GstEvent * event)
gst_event_parse_step (event, &format, &amount, &rate, &flush, &intermediate);
seqnum = gst_event_get_seqnum (event);
pending = &priv->pending_step;
if (flush) {
/* we need to call ::unlock before locking PREROLL_LOCK
* since we lock it before going into ::render */
@ -3401,14 +3408,14 @@ gst_base_sink_perform_step (GstBaseSink * sink, GstPad * pad, GstEvent * event)
GST_PAD_PREROLL_LOCK (sink->sinkpad);
/* update the segment */
priv->pending_step.seqnum = seqnum;
priv->pending_step.format = format;
priv->pending_step.amount = amount;
priv->pending_step.position = 0;
priv->pending_step.rate = rate;
priv->pending_step.flush = flush;
priv->pending_step.intermediate = intermediate;
priv->pending_step.valid = TRUE;
pending->seqnum = seqnum;
pending->format = format;
pending->amount = amount;
pending->position = 0;
pending->rate = rate;
pending->flush = flush;
pending->intermediate = intermediate;
pending->valid = TRUE;
/* now that we have the PREROLL lock, clear our unlock request */
if (bclass->unlock_stop)