{
GstSignalProcessor *self;
GstSignalProcessorClass *bclass;
- gboolean ret = FALSE;
gboolean unlock;
self = GST_SIGNAL_PROCESSOR (GST_PAD_PARENT (pad));
if (bclass->event)
bclass->event (self, event);
- unlock = FALSE;
-
- switch (GST_EVENT_TYPE (event)) {
- case GST_EVENT_FLUSH_STOP:
- case GST_EVENT_EOS:
- GST_STREAM_LOCK (pad);
- unlock = TRUE;
- break;
- default:
- break;
- }
ret = gst_pad_event_default (pad, event);
- if (unlock)
- GST_STREAM_UNLOCK (pad);
return ret;
}
self = GST_SIGNAL_PROCESSOR (GST_PAD_PARENT (pad));
- GST_STREAM_LOCK (pad);
-
if (spad->pen) {
*buffer = spad->pen;
spad->pen = NULL;
}
}
- GST_STREAM_UNLOCK (pad);
-
return ret;
}
self = GST_SIGNAL_PROCESSOR (GST_PAD_PARENT (pad));
- GST_STREAM_LOCK (pad);
-
gst_signal_processor_pen_buffer (self, pad, buffer);
if (self->pending_in == 0) {
gst_signal_processor_do_pushes (self);
}
- GST_STREAM_UNLOCK (pad);
-
return self->state;
}