static GstPadTemplate *gst_jack_sink_request_pad_factory ();
static GstPad *gst_jack_request_new_pad (GstElement * element,
GstPadTemplate * templ, const gchar * name);
-static GstElementStateReturn gst_jack_change_state (GstElement * element);
+static GstStateChangeReturn gst_jack_change_state (GstElement * element,
+ GstStateChange transition);
static GstPadLinkReturn gst_jack_link (GstPad * pad, const GstCaps * caps);
static void gst_jack_loop (GstElement * element);
return pad->pad;
}
-static GstElementStateReturn
-gst_jack_change_state (GstElement * element)
+static GstStateChangeReturn
+gst_jack_change_state (GstElement * element, GstStateChange transition)
{
GstJack *this;
GList *l = NULL, **pads;
this->bin = NULL;
g_warning ("jack element %s needs to be contained in a jack bin.",
GST_OBJECT_NAME (element));
- return GST_STATE_FAILURE;
+ return GST_STATE_CHANGE_FAILURE;
}
/* fixme: verify that all names are unique */
"rate", G_TYPE_INT, (int) this->bin->rate,
"buffer-frames", G_TYPE_INT, (gint) this->bin->nframes, NULL);
if (gst_pad_try_set_caps (pad->pad, caps) <= 0)
- return GST_STATE_FAILURE;
+ return GST_STATE_CHANGE_FAILURE;
l = g_list_next (l);
}
}
JACK_DEBUG ("%s: state change finished", GST_OBJECT_NAME (this));
if (GST_ELEMENT_CLASS (parent_class)->change_state)
- return GST_ELEMENT_CLASS (parent_class)->change_state (element);
+ return GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
- return GST_STATE_SUCCESS;
+ return GST_STATE_CHANGE_SUCCESS;
}
static GstPadLinkReturn
static void gst_jack_bin_init (GstJackBin * this);
static void gst_jack_bin_class_init (GstJackBinClass * klass);
-static GstElementStateReturn gst_jack_bin_change_state (GstElement * element);
+static GstStateChangeReturn gst_jack_bin_change_state (GstElement * element,
+ GstStateChange transition);
/* jack callbacks */
static int process (jack_nframes_t nframes, void *arg);
gst_scheduler_factory_make (NULL, GST_ELEMENT (this));
}
-static GstElementStateReturn
-gst_jack_bin_change_state (GstElement * element)
+static GstStateChangeReturn
+gst_jack_bin_change_state (GstElement * element, GstStateChange transition)
{
GstJackBin *this;
GList *l = NULL;
_jackbin = NULL;
if (GST_ELEMENT_CLASS (parent_class)->change_state)
- return GST_ELEMENT_CLASS (parent_class)->change_state (element);
+ return GST_ELEMENT_CLASS (parent_class)->change_state (element,
+ transition);
break;
case GST_STATE_READY:
if (!this->client) {
if (!(this->client = jack_client_new ("gst-jack"))) {
g_warning ("jack server not running?");
- return GST_STATE_FAILURE;
+ return GST_STATE_CHANGE_FAILURE;
}
gst_scheduler_setup (GST_ELEMENT_SCHED (this));
}
if (GST_ELEMENT_CLASS (parent_class)->change_state)
- return GST_ELEMENT_CLASS (parent_class)->change_state (element);
+ return GST_ELEMENT_CLASS (parent_class)->change_state (element,
+ transition);
break;
case GST_STATE_PAUSED:
jack_port_name (pad->port))) {
g_warning ("jackbin: could not connect %s and %s", pad->peer_name,
jack_port_name (pad->port));
- return GST_STATE_FAILURE;
+ return GST_STATE_CHANGE_FAILURE;
}
l = g_list_next (l);
}
pad->peer_name)) {
g_warning ("jackbin: could not connect %s and %s", pad->peer_name,
jack_port_name (pad->port));
- return GST_STATE_FAILURE;
+ return GST_STATE_CHANGE_FAILURE;
}
l = g_list_next (l);
}
GST_FLAG_SET (GST_OBJECT (this), GST_JACK_OPEN);
if (GST_ELEMENT_CLASS (parent_class)->change_state)
- return GST_ELEMENT_CLASS (parent_class)->change_state (element);
+ return GST_ELEMENT_CLASS (parent_class)->change_state (element,
+ transition);
} else {
if (GST_ELEMENT_CLASS (parent_class)->change_state)
- return GST_ELEMENT_CLASS (parent_class)->change_state (element);
+ return GST_ELEMENT_CLASS (parent_class)->change_state (element,
+ transition);
}
break;
JACK_DEBUG ("jackbin: PLAYING");
if (GST_ELEMENT_CLASS (parent_class)->change_state)
- return GST_ELEMENT_CLASS (parent_class)->change_state (element);
+ return GST_ELEMENT_CLASS (parent_class)->change_state (element,
+ transition);
break;
}
JACK_DEBUG ("jackbin: state change finished");
- return GST_STATE_SUCCESS;
+ return GST_STATE_CHANGE_SUCCESS;
}
/* jack callbacks */