Move gtk plugin from -bad
[platform/upstream/gst-plugins-good.git] / gst / wavenc / gstwavenc.h
index 8a19319..11b38bb 100644 (file)
  *
  * 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_WAVENC_H__
-#define __GST_WAVENC_H__
+#ifndef __GST_WAV_ENC_H__
+#define __GST_WAV_ENC_H__
 
 
 #include <gst/gst.h>
+#include <gst/audio/audio.h>
 
 G_BEGIN_DECLS
 
@@ -34,37 +35,49 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_WAVENC,GstWavEncClass))
 #define GST_IS_WAVENC(obj) \
   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_WAVENC))
-#define GST_IS_WAVENC_CLASS(obj) \
+#define GST_IS_WAVENC_CLASS(klass) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_WAVENC))
 
 typedef struct _GstWavEnc GstWavEnc;
 typedef struct _GstWavEncClass GstWavEncClass;
 
-#define WAV_HEADER_LEN 44
-
 struct _GstWavEnc {
   GstElement element;
 
-  /* pads */
-  GstPad *sinkpad,*srcpad;
-
-  /* useful audio data */
-  guint bits;
-  guint rate;
-  guint channels;
-  guint width;
-  guint32 length;
+  GstPad    *sinkpad;
+  GstPad    *srcpad;
 
-  gboolean setup, flush_header, pad_eos;
-  guchar header[WAV_HEADER_LEN];
+  GstTagList *tags;
+  GstToc    *toc;
+  GList     *cues;
+  GList     *labls;
+  GList     *notes;
 
-  guint16 newmediacount;
+  /* useful audio data */
+  GstAudioFormat audio_format;
+  guint16    format;
+  guint      width;
+  guint      rate;
+  guint      channels;
+  guint64    channel_mask;
+  GstAudioChannelPosition srcPos[64];
+  GstAudioChannelPosition destPos[64];
+  
+  /* data sizes */
+  guint64    audio_length;
+  guint32    meta_length;
+
+  gboolean   use_rf64;
+  gboolean   sent_header;
+  gboolean   finished_properly;
 };
 
 struct _GstWavEncClass {
   GstElementClass parent_class;
 };
 
+GType gst_wavenc_get_type (void);
+
 G_END_DECLS
 
-#endif /* __GST_ENC_H__ */
+#endif /* __GST_WAV_ENC_H__ */