2005-10-12 Wim Taymans <wim@fluendo.com>
+ * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
+ (gst_base_sink_change_state):
+ No need to prerol after receiving EOS.
+
+ * gst/elements/gstfakesink.c: (gst_fake_sink_event):
+ * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
+ * gst/elements/gstidentity.c: (gst_identity_event):
+ Print events more verbosely.
+
+2005-10-12 Wim Taymans <wim@fluendo.com>
+
* check/Makefile.am:
* check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
* check/states/sinks2.c:
gboolean do_eos = !basesink->eos_queued;
gst_base_sink_preroll_queue_empty (basesink, basesink->sinkpad);
+ basesink->need_preroll = FALSE;
/* need to post EOS message here if it was not in the preroll queue we
* just emptied. */
gst_fake_sink_event (GstBaseSink * bsink, GstEvent * event)
{
GstFakeSink *sink = GST_FAKE_SINK (bsink);
- const GstStructure *s;
if (!sink->silent) {
+ const GstStructure *s;
gchar *sstr;
GST_LOCK (sink);
src = GST_FAKE_SRC (basesrc);
if (!src->silent) {
+ const GstStructure *s;
+ gchar *sstr;
+
GST_LOCK (src);
g_free (src->last_message);
+ if ((s = gst_event_get_structure (event)))
+ sstr = gst_structure_to_string (s);
+ else
+ sstr = g_strdup ("");
+
src->last_message =
- g_strdup_printf ("event ******* E (type: %d) %p",
- GST_EVENT_TYPE (event), event);
+ g_strdup_printf ("event ******* E (type: %d, %s) %p",
+ GST_EVENT_TYPE (event), sstr, event);
+ g_free (sstr);
GST_UNLOCK (src);
g_object_notify (G_OBJECT (src), "last_message");
identity = GST_IDENTITY (trans);
if (!identity->silent) {
+ const GstStructure *s;
+ gchar *sstr;
+
GST_LOCK (identity);
g_free (identity->last_message);
+ if ((s = gst_event_get_structure (event)))
+ sstr = gst_structure_to_string (s);
+ else
+ sstr = g_strdup ("");
+
identity->last_message =
- g_strdup_printf ("chain ******* (%s:%s)E (type: %d) %p",
- GST_DEBUG_PAD_NAME (trans->sinkpad), GST_EVENT_TYPE (event), event);
+ g_strdup_printf ("event ******* (%s:%s) E (type: %d, %s) %p",
+ GST_DEBUG_PAD_NAME (trans->sinkpad), GST_EVENT_TYPE (event), sstr,
+ event);
+ g_free (sstr);
GST_UNLOCK (identity);
g_object_notify (G_OBJECT (identity), "last_message");
gboolean do_eos = !basesink->eos_queued;
gst_base_sink_preroll_queue_empty (basesink, basesink->sinkpad);
+ basesink->need_preroll = FALSE;
/* need to post EOS message here if it was not in the preroll queue we
* just emptied. */
gst_fake_sink_event (GstBaseSink * bsink, GstEvent * event)
{
GstFakeSink *sink = GST_FAKE_SINK (bsink);
- const GstStructure *s;
if (!sink->silent) {
+ const GstStructure *s;
gchar *sstr;
GST_LOCK (sink);
src = GST_FAKE_SRC (basesrc);
if (!src->silent) {
+ const GstStructure *s;
+ gchar *sstr;
+
GST_LOCK (src);
g_free (src->last_message);
+ if ((s = gst_event_get_structure (event)))
+ sstr = gst_structure_to_string (s);
+ else
+ sstr = g_strdup ("");
+
src->last_message =
- g_strdup_printf ("event ******* E (type: %d) %p",
- GST_EVENT_TYPE (event), event);
+ g_strdup_printf ("event ******* E (type: %d, %s) %p",
+ GST_EVENT_TYPE (event), sstr, event);
+ g_free (sstr);
GST_UNLOCK (src);
g_object_notify (G_OBJECT (src), "last_message");
identity = GST_IDENTITY (trans);
if (!identity->silent) {
+ const GstStructure *s;
+ gchar *sstr;
+
GST_LOCK (identity);
g_free (identity->last_message);
+ if ((s = gst_event_get_structure (event)))
+ sstr = gst_structure_to_string (s);
+ else
+ sstr = g_strdup ("");
+
identity->last_message =
- g_strdup_printf ("chain ******* (%s:%s)E (type: %d) %p",
- GST_DEBUG_PAD_NAME (trans->sinkpad), GST_EVENT_TYPE (event), event);
+ g_strdup_printf ("event ******* (%s:%s) E (type: %d, %s) %p",
+ GST_DEBUG_PAD_NAME (trans->sinkpad), GST_EVENT_TYPE (event), sstr,
+ event);
+ g_free (sstr);
GST_UNLOCK (identity);
g_object_notify (G_OBJECT (identity), "last_message");