+2007-12-13 Stefan Kost <ensonic@users.sf.net>
+
+ * libs/gst/base/gstbasesink.c:
+ * libs/gst/base/gstbasesrc.c:
+ * libs/gst/base/gstbasetransform.c:
+ Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
+ thread. Correct log message in gstbasesrc.c.
+
2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
* gst/gstutils.c: (element_find_unconnected_pad):
GstBaseSink *basesink;
GstFlowReturn result;
- basesink = GST_BASE_SINK (gst_pad_get_parent (pad));
+ basesink = GST_BASE_SINK (GST_OBJECT_PARENT (pad));
if (G_UNLIKELY (basesink->pad_mode != GST_ACTIVATE_PUSH))
goto wrong_mode;
GST_PAD_PREROLL_UNLOCK (pad);
done:
- gst_object_unref (basesink);
-
return result;
/* ERRORS */
GstBuffer *buf = NULL;
GstFlowReturn result;
- basesink = GST_BASE_SINK (gst_pad_get_parent (pad));
+ basesink = GST_BASE_SINK (GST_OBJECT_PARENT (pad));
g_assert (basesink->pad_mode == GST_ACTIVATE_PULL);
if (G_UNLIKELY (result != GST_FLOW_OK))
goto paused;
- gst_object_unref (basesink);
-
return;
/* ERRORS */
("stream stopped, reason %s", gst_flow_get_name (result)));
}
}
- gst_object_unref (basesink);
return;
}
no_buffer:
GstBaseSrc *src;
gboolean res;
- src = GST_BASE_SRC (gst_pad_get_parent (pad));
+ src = GST_BASE_SRC (GST_OBJECT_PARENT (pad));
res = gst_base_src_check_get_range (src);
- gst_object_unref (src);
-
return res;
}
eos = FALSE;
- src = GST_BASE_SRC (gst_pad_get_parent (pad));
+ src = GST_BASE_SRC (GST_OBJECT_PARENT (pad));
GST_LIVE_LOCK (src);
if (src->priv->flushing)
}
if (eos) {
- GST_INFO_OBJECT (src, "pausing after EOS");
+ GST_INFO_OBJECT (src, "pausing after end of segment");
ret = GST_FLOW_UNEXPECTED;
goto pause;
}
done:
- gst_object_unref (src);
return;
/* special cases */
GstClockTime last_stop = GST_CLOCK_TIME_NONE;
GstBuffer *outbuf = NULL;
- trans = GST_BASE_TRANSFORM (gst_pad_get_parent (pad));
+ trans = GST_BASE_TRANSFORM (GST_OBJECT_PARENT (pad));
/* calculate end position of the incoming buffer */
if (GST_BUFFER_TIMESTAMP (buffer) != GST_CLOCK_TIME_NONE) {
ret = GST_FLOW_OK;
}
- gst_object_unref (trans);
-
return ret;
}