GstStateChange transition);
static gboolean gst_qt_src_start (GstBaseSrc * basesrc);
static gboolean gst_qt_src_stop (GstBaseSrc * basesrc);
+static gboolean gst_qt_src_unlock(GstBaseSrc *basesrc);
static GstStaticPadTemplate gst_qt_src_template =
GST_STATIC_PAD_TEMPLATE ("src",
gstbasesrc_class->query = gst_qt_src_query;
gstbasesrc_class->start = gst_qt_src_start;
gstbasesrc_class->stop = gst_qt_src_stop;
+ gstbasesrc_class->unlock = gst_qt_src_unlock;
gstbasesrc_class->decide_allocation = gst_qt_src_decide_allocation;
gstpushsrc_class->fill = gst_qt_src_fill;
switch (transition) {
case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
- if (qt_src->window)
- qt_window_stop (qt_src->window);
break;
case GST_STATE_CHANGE_PAUSED_TO_READY:
break;
}
static gboolean
+gst_qt_src_unlock(GstBaseSrc *basesrc)
+{
+ GstQtSrc *qt_src = GST_QT_SRC (basesrc);
+ if (qt_src->window)
+ qt_window_stop (qt_src->window);
+ return TRUE;
+}
+
+static gboolean
gst_qt_src_stop (GstBaseSrc * basesrc)
{
return TRUE;