summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Schmidt <thaytan@mad.scientist.com>2005-09-05 17:20:28 +0000
committerJan Schmidt <thaytan@mad.scientist.com>2005-09-05 17:20:28 +0000
commit4ba0f2adac627524b2154257bd47dd9cdfa61362 (patch)
tree2f88021467356d8aa74bf509ff926cd8fc0b6ba3
parent1c1c961af4207d681f7053c62fa9d649c59967c9 (diff)
Fix up all the state change functions.
Original commit message from CVS: Fix up all the state change functions.
-rw-r--r--gst/videocrop/gstvideocrop.c25
-rw-r--r--sys/v4l2/gstv4l2element.c24
-rw-r--r--sys/v4l2/gstv4l2src.c39
3 files changed, 45 insertions, 43 deletions
diff --git a/gst/videocrop/gstvideocrop.c b/gst/videocrop/gstvideocrop.c
index 6009ef7c0..2af4a76c1 100644
--- a/gst/videocrop/gstvideocrop.c
+++ b/gst/videocrop/gstvideocrop.c
@@ -107,7 +107,8 @@ static GstPadLinkReturn
gst_video_crop_link (GstPad * pad, const GstCaps * caps);
static void gst_video_crop_chain (GstPad * pad, GstData * _data);
-static GstElementStateReturn gst_video_crop_change_state (GstElement * element);
+static GstStateChangeReturn gst_video_crop_change_state (GstElement * element,
+ GstStateChange transition);
static GstElementClass *parent_class = NULL;
@@ -531,33 +532,33 @@ gst_video_crop_chain (GstPad * pad, GstData * _data)
gst_pad_push (video_crop->srcpad, GST_DATA (outbuf));
}
-static GstElementStateReturn
-gst_video_crop_change_state (GstElement * element)
+static GstStateChangeReturn
+gst_video_crop_change_state (GstElement * element, GstStateChange transition)
{
GstVideoCrop *video_crop;
video_crop = GST_VIDEO_CROP (element);
- switch (GST_STATE_TRANSITION (element)) {
- case GST_STATE_NULL_TO_READY:
+ switch (transition) {
+ case GST_STATE_CHANGE_NULL_TO_READY:
video_crop->renegotiate_src_caps = TRUE;
break;
- case GST_STATE_READY_TO_PAUSED:
+ case GST_STATE_CHANGE_READY_TO_PAUSED:
break;
- case GST_STATE_PAUSED_TO_PLAYING:
+ case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
break;
- case GST_STATE_PLAYING_TO_PAUSED:
+ case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
break;
- case GST_STATE_PAUSED_TO_READY:
+ case GST_STATE_CHANGE_PAUSED_TO_READY:
break;
- case GST_STATE_READY_TO_NULL:
+ case GST_STATE_CHANGE_READY_TO_NULL:
break;
}
if (parent_class->change_state != NULL)
- return parent_class->change_state (element);
+ return parent_class->change_state (element, transition);
- return GST_STATE_SUCCESS;
+ return GST_STATE_CHANGE_SUCCESS;
}
static gboolean
diff --git a/sys/v4l2/gstv4l2element.c b/sys/v4l2/gstv4l2element.c
index 18c0abd93..139378b31 100644
--- a/sys/v4l2/gstv4l2element.c
+++ b/sys/v4l2/gstv4l2element.c
@@ -72,8 +72,8 @@ static void gst_v4l2element_set_property (GObject * object,
guint prop_id, const GValue * value, GParamSpec * pspec);
static void gst_v4l2element_get_property (GObject * object,
guint prop_id, GValue * value, GParamSpec * pspec);
-static GstElementStateReturn
-gst_v4l2element_change_state (GstElement * element);
+static GstStateChangeReturn
+gst_v4l2element_change_state (GstElement * element, GstStateChange transition);
static GstElementClass *parent_class = NULL;
@@ -562,22 +562,22 @@ gst_v4l2element_get_property (GObject * object,
}
-static GstElementStateReturn
-gst_v4l2element_change_state (GstElement * element)
+static GstStateChangeReturn
+gst_v4l2element_change_state (GstElement * element, GstStateChange transition)
{
GstV4l2Element *v4l2element;
- g_return_val_if_fail (GST_IS_V4L2ELEMENT (element), GST_STATE_FAILURE);
+ g_return_val_if_fail (GST_IS_V4L2ELEMENT (element), GST_STATE_CHANGE_FAILURE);
v4l2element = GST_V4L2ELEMENT (element);
/* if going down into NULL state, close the device if it's open
* if going to READY, open the device (and set some options)
*/
- switch (GST_STATE_TRANSITION (element)) {
- case GST_STATE_NULL_TO_READY:
+ switch (transition) {
+ case GST_STATE_CHANGE_NULL_TO_READY:
if (!gst_v4l2_open (v4l2element))
- return GST_STATE_FAILURE;
+ return GST_STATE_CHANGE_FAILURE;
#ifdef HAVE_XVIDEO
gst_v4l2_xoverlay_open (v4l2element);
@@ -587,13 +587,13 @@ gst_v4l2element_change_state (GstElement * element)
g_signal_emit (G_OBJECT (v4l2element),
gst_v4l2element_signals[SIGNAL_OPEN], 0, v4l2element->device);
break;
- case GST_STATE_READY_TO_NULL:
+ case GST_STATE_CHANGE_READY_TO_NULL:
#ifdef HAVE_XVIDEO
gst_v4l2_xoverlay_close (v4l2element);
#endif
if (!gst_v4l2_close (v4l2element))
- return GST_STATE_FAILURE;
+ return GST_STATE_CHANGE_FAILURE;
/* emit yet another signal! wheehee! */
g_signal_emit (G_OBJECT (v4l2element),
@@ -602,7 +602,7 @@ gst_v4l2element_change_state (GstElement * element)
}
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;
}
diff --git a/sys/v4l2/gstv4l2src.c b/sys/v4l2/gstv4l2src.c
index 45b60bdea..b273781d8 100644
--- a/sys/v4l2/gstv4l2src.c
+++ b/sys/v4l2/gstv4l2src.c
@@ -123,7 +123,8 @@ static void gst_v4l2src_get_property (GObject * object,
guint prop_id, GValue * value, GParamSpec * pspec);
/* state handling */
-static GstElementStateReturn gst_v4l2src_change_state (GstElement * element);
+static GstStateChangeReturn gst_v4l2src_change_state (GstElement * element,
+ GstStateChange transition);
/* set_clock function for A/V sync */
static void gst_v4l2src_set_clock (GstElement * element, GstClock * clock);
@@ -1014,63 +1015,63 @@ gst_v4l2src_get_property (GObject * object,
}
-static GstElementStateReturn
-gst_v4l2src_change_state (GstElement * element)
+static GstStateChangeReturn
+gst_v4l2src_change_state (GstElement * element, GstStateChange transition)
{
GstV4l2Src *v4l2src;
- gint transition = GST_STATE_TRANSITION (element);
- GstElementStateReturn parent_return;
+ GstStateChangeReturn parent_return;
GTimeVal time;
- g_return_val_if_fail (GST_IS_V4L2SRC (element), GST_STATE_FAILURE);
+ g_return_val_if_fail (GST_IS_V4L2SRC (element), GST_STATE_CHANGE_FAILURE);
v4l2src = GST_V4L2SRC (element);
if (GST_ELEMENT_CLASS (parent_class)->change_state) {
- parent_return = GST_ELEMENT_CLASS (parent_class)->change_state (element);
- if (parent_return != GST_STATE_SUCCESS)
+ parent_return =
+ GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
+ if (parent_return != GST_STATE_CHANGE_SUCCESS)
return parent_return;
}
switch (transition) {
- case GST_STATE_NULL_TO_READY:
+ case GST_STATE_CHANGE_NULL_TO_READY:
if (!gst_v4l2src_get_capture (v4l2src))
- return GST_STATE_FAILURE;
+ return GST_STATE_CHANGE_FAILURE;
break;
- case GST_STATE_READY_TO_PAUSED:
+ case GST_STATE_CHANGE_READY_TO_PAUSED:
v4l2src->handled = 0;
v4l2src->need_writes = 0;
v4l2src->substract_time = 0;
/* buffer setup moved to capsnego */
break;
- case GST_STATE_PAUSED_TO_PLAYING:
+ case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
/* queue all buffer, start streaming capture */
if (GST_V4L2ELEMENT (v4l2src)->buffer &&
!gst_v4l2src_capture_start (v4l2src))
- return GST_STATE_FAILURE;
+ return GST_STATE_CHANGE_FAILURE;
g_get_current_time (&time);
v4l2src->substract_time = GST_TIMEVAL_TO_TIME (time) -
v4l2src->substract_time;
v4l2src->last_seq = 0;
break;
- case GST_STATE_PLAYING_TO_PAUSED:
+ case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
g_get_current_time (&time);
v4l2src->substract_time = GST_TIMEVAL_TO_TIME (time) -
v4l2src->substract_time;
/* de-queue all queued buffers */
if (v4l2src->is_capturing && !gst_v4l2src_capture_stop (v4l2src))
- return GST_STATE_FAILURE;
+ return GST_STATE_CHANGE_FAILURE;
break;
- case GST_STATE_PAUSED_TO_READY:
+ case GST_STATE_CHANGE_PAUSED_TO_READY:
/* stop capturing, unmap all buffers */
if (GST_V4L2ELEMENT (v4l2src)->buffer &&
!gst_v4l2src_capture_deinit (v4l2src))
- return GST_STATE_FAILURE;
+ return GST_STATE_CHANGE_FAILURE;
break;
- case GST_STATE_READY_TO_NULL:
+ case GST_STATE_CHANGE_READY_TO_NULL:
break;
}
- return GST_STATE_SUCCESS;
+ return GST_STATE_CHANGE_SUCCESS;
}