wpe: Implement audio support
[platform/upstream/gstreamer.git] / ext / wpe / gstwpesrcbin.h
index 87b0aea..c61505d 100644 (file)
@@ -1,5 +1,5 @@
-/* Copyright (C) <2018> Philippe Normand <philn@igalia.com>
- * Copyright (C) <2018> Žan Doberšek <zdobersek@igalia.com>
+/* Copyright (C) <2018, 2019> Philippe Normand <philn@igalia.com>
+ * Copyright (C) <2018, 2019> Žan Doberšek <zdobersek@igalia.com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
 #pragma once
 
 #include <gst/gst.h>
+#include <gst/audio/audio.h>
 
 G_BEGIN_DECLS
 
+GType gst_wpe_audio_pad_get_type(void);
+#define GST_TYPE_WPE_AUDIO_PAD            (gst_wpe_audio_pad_get_type())
+#define GST_WPE_AUDIO_PAD(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_WPE_AUDIO_PAD,GstWpeAudioPad))
+#define GST_IS_WPE_AUDIO_PAD(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_WPE_AUDIO_PAD))
+#define GST_WPE_AUDIO_PAD_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass) ,GST_TYPE_WPE_AUDIO_PAD,GstWpeAudioPadClass))
+#define GST_IS_WPE_AUDIO_PAD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass) ,GST_TYPE_WPE_AUDIO_PAD))
+#define GST_WPE_AUDIO_PAD_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj) ,GST_TYPE_WPE_AUDIO_PAD,GstWpeAudioPadClass))
+
+typedef struct _GstWpeAudioPad GstWpeAudioPad;
+typedef struct _GstWpeAudioPadClass GstWpeAudioPadClass;
+
+struct _GstWpeAudioPad
+{
+  GstGhostPad      parent;
+
+  GstAudioInfo     info;
+  GstClockTime     buffer_time;
+  gboolean         discont_pending;
+};
+
+struct _GstWpeAudioPadClass
+{
+  GstGhostPadClass parent_class;
+};
+
+
 #define GST_TYPE_WPE_SRC            (gst_wpe_src_get_type())
 #define GST_WPE_SRC(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_WPE_SRC,GstWpeSrc))
 #define GST_WPE_SRC_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_WPE_SRC,GstWpeSrcClass))