filesink: Flush buffers before directly writing out buffers with the SYNC_AFTER flag
[platform/upstream/gstreamer.git] / plugins / elements / gstidentity.h
index 5b21c95..e902732 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
  *                    2000 Wim Taymans <wtay@chello.be>
  *
- * gstidentity.h: 
+ * gstidentity.h:
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -16,8 +16,8 @@
  *
  * You should have received a copy of the GNU Library General Public
  * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
  */
 
 
 #define __GST_IDENTITY_H__
 
 
-#include <config.h>
 #include <gst/gst.h>
+#include <gst/base/gstbasetransform.h>
 
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-
-GstElementDetails gst_identity_details;
+G_BEGIN_DECLS
 
 
 #define GST_TYPE_IDENTITY \
@@ -45,38 +39,57 @@ GstElementDetails gst_identity_details;
   (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_IDENTITY,GstIdentityClass))
 #define GST_IS_IDENTITY(obj) \
   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_IDENTITY))
-#define GST_IS_IDENTITY_CLASS(obj) \
+#define GST_IS_IDENTITY_CLASS(klass) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_IDENTITY))
 
 typedef struct _GstIdentity GstIdentity;
 typedef struct _GstIdentityClass GstIdentityClass;
 
+/**
+ * GstIdentity:
+ *
+ * Opaque #GstIdentity data structure
+ */
 struct _GstIdentity {
-  GstElement element;
-
-  GstPad *sinkpad;
-  GstPad *srcpad;
-
-  gboolean loop_based;
-  guint duplicate;
-  gint error_after;
-  guint sleep_time;
-  gboolean silent;
+  GstBaseTransform      element;
+
+  /*< private >*/
+  GstClockID     clock_id;
+  gboolean       flushing;
+  gint                  error_after;
+  gfloat        drop_probability;
+  gint          datarate;
+  guint         sleep_time;
+  gboolean      silent;
+  gboolean      dump;
+  gboolean      sync;
+  gboolean      check_imperfect_timestamp;
+  gboolean      check_imperfect_offset;
+  gboolean      single_segment;
+  GstBufferFlags drop_buffer_flags;
+  GstClockTime   prev_timestamp;
+  GstClockTime   prev_duration;
+  guint64        prev_offset;
+  guint64        prev_offset_end;
+  gchar        *last_message;
+  guint64        offset;
+  gboolean       signal_handoffs;
+  GstClockTime   upstream_latency;
+  GCond          blocked_cond;
+  gboolean       blocked;
+  GstClockTimeDiff  ts_offset;
+  gboolean       drop_allocation;
 };
 
 struct _GstIdentityClass {
-  GstElementClass parent_class;
+  GstBaseTransformClass parent_class;
 
   /* signals */
   void (*handoff) (GstElement *element, GstBuffer *buf);
 };
 
-GType gst_identity_get_type(void);
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_GNUC_INTERNAL GType gst_identity_get_type (void);
 
+G_END_DECLS
 
 #endif /* __GST_IDENTITY_H__ */