summaryrefslogtreecommitdiff
path: root/plugins/elements/gstfakesink.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/elements/gstfakesink.c')
-rw-r--r--plugins/elements/gstfakesink.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/plugins/elements/gstfakesink.c b/plugins/elements/gstfakesink.c
index 81709b764b..11590c4bab 100644
--- a/plugins/elements/gstfakesink.c
+++ b/plugins/elements/gstfakesink.c
@@ -44,6 +44,7 @@ enum {
enum {
ARG_0,
ARG_NUM_SOURCES,
+ ARG_SILENT,
};
@@ -90,6 +91,8 @@ gst_fakesink_class_init (GstFakeSinkClass *klass)
gtk_object_add_arg_type ("GstFakeSink::num_sources", GTK_TYPE_INT,
GTK_ARG_READWRITE, ARG_NUM_SOURCES);
+ gtk_object_add_arg_type ("GstFakeSink::silent", GTK_TYPE_BOOL,
+ GTK_ARG_READWRITE, ARG_SILENT);
gst_fakesink_signals[SIGNAL_HANDOFF] =
gtk_signal_new ("handoff", GTK_RUN_LAST, gtkobject_class->type,
@@ -112,6 +115,7 @@ gst_fakesink_init (GstFakeSink *fakesink)
gst_pad_set_chain_function (pad, gst_fakesink_chain);
fakesink->sinkpads = g_slist_prepend (NULL, pad);
fakesink->numsinkpads = 1;
+ fakesink->silent = FALSE;
// we're ready right away, since we don't have any args...
// gst_element_set_state(GST_ELEMENT(fakesink),GST_STATE_READY);
@@ -138,6 +142,9 @@ gst_fakesink_set_arg (GtkObject *object, GtkArg *arg, guint id)
sink->numsinkpads++;
}
break;
+ case ARG_SILENT:
+ sink->silent = GTK_VALUE_BOOL (*arg);
+ break;
default:
break;
}
@@ -157,6 +164,9 @@ gst_fakesink_get_arg (GtkObject *object, GtkArg *arg, guint id)
case ARG_NUM_SOURCES:
GTK_VALUE_INT (*arg) = sink->numsinkpads;
break;
+ case ARG_SILENT:
+ GTK_VALUE_BOOL (*arg) = sink->silent;
+ break;
default:
arg->type = GTK_TYPE_INVALID;
break;
@@ -181,7 +191,8 @@ gst_fakesink_chain (GstPad *pad, GstBuffer *buf)
g_return_if_fail (buf != NULL);
fakesink = GST_FAKESINK (gst_pad_get_parent (pad));
- g_print("fakesink: ******* (%s:%s)< \n",GST_DEBUG_PAD_NAME(pad));
+ if (!fakesink->silent)
+ g_print("fakesink: ******* (%s:%s)< (%d bytes) \n",GST_DEBUG_PAD_NAME(pad),GST_BUFFER_SIZE(buf));
gst_buffer_unref (buf);