ext/cairo: pack gstcairo plugin in default
[platform/upstream/gst-plugins-good.git] / gst / dtmf / gstdtmfsrc.h
index 27e91a0..04440bc 100644 (file)
@@ -20,8 +20,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.
  */
 
 #ifndef __GST_DTMF_SRC_H__
@@ -29,9 +29,9 @@
 
 #include <gst/gst.h>
 #include <gst/gstbuffer.h>
+#include <gst/base/gstbasesrc.h>
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_DTMF_SRC               (gst_dtmf_src_get_type())
 #define GST_DTMF_SRC(obj)               (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DTMF_SRC,GstDTMFSrc))
 #define GST_DTMF_SRC_CLASS(klass)       (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DTMF_SRC,GstDTMFSrcClass))
@@ -39,18 +39,11 @@ G_BEGIN_DECLS
 #define GST_IS_DTMF_SRC(obj)            (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DTMF_SRC))
 #define GST_IS_DTMF_SRC_CLASS(klass)    (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DTMF_SRC))
 #define GST_DTMF_SRC_CAST(obj)          ((GstDTMFSrc *)(obj))
-
 typedef struct _GstDTMFSrc GstDTMFSrc;
 typedef struct _GstDTMFSrcClass GstDTMFSrcClass;
 
-/**
- * GstDTMFSrc:
- * @element: the parent element.
- *
- * The opaque #GstDTMFSrc data structure.
- */
-
-enum _GstDTMFEventType {
+enum _GstDTMFEventType
+{
   DTMF_EVENT_TYPE_START,
   DTMF_EVENT_TYPE_STOP,
   DTMF_EVENT_TYPE_PAUSE_TASK
@@ -58,32 +51,46 @@ enum _GstDTMFEventType {
 
 typedef enum _GstDTMFEventType GstDTMFEventType;
 
-struct _GstDTMFSrcEvent {
-  GstDTMFEventType  event_type;
-  double            sample;
-  guint16           event_number;
-  guint16           volume;
-  guint32           packet_count;
+struct _GstDTMFSrcEvent
+{
+  GstDTMFEventType event_type;
+  double sample;
+  guint16 event_number;
+  guint16 volume;
+  guint32 packet_count;
 };
 
 typedef struct _GstDTMFSrcEvent GstDTMFSrcEvent;
 
-struct _GstDTMFSrc {
-  GstElement        element;
-  GstPad            *srcpad;
-  GstSegment        segment;
-  GAsyncQueue*      event_queue;
-  GstDTMFSrcEvent*  last_event;
-  GstClockID        clock_id;
-  gboolean          task_paused;
-
-  guint16           interval;
-  GstClockTime      timestamp;
+/**
+ * GstDTMFSrc:
+ * @element: the parent element.
+ *
+ * The opaque #GstDTMFSrc data structure.
+ */
+struct _GstDTMFSrc
+{
+  /*< private >*/
+  GstBaseSrc parent;
+  GAsyncQueue *event_queue;
+  GstDTMFSrcEvent *last_event;
+  gboolean last_event_was_start;
+
+  guint16 interval;
+  GstClockTime timestamp;
+
+  gboolean paused;
+  GstClockID clockid;
+
+  GstClockTime last_stop;
+
+  gint sample_rate;
 };
 
 
-struct _GstDTMFSrcClass {
-  GstElementClass parent_class;
+struct _GstDTMFSrcClass
+{
+  GstBaseSrcClass parent_class;
 };
 
 GType gst_dtmf_src_get_type (void);
@@ -91,5 +98,4 @@ GType gst_dtmf_src_get_type (void);
 gboolean gst_dtmf_src_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
-
 #endif /* __GST_DTMF_SRC_H__ */