avidemux: Pass through seek event seqnums in all SEGMENT/EOS events and SEGMENT_DONE...
[platform/upstream/gst-plugins-good.git] / ext / wavpack / gstwavpackenc.h
index dbafcd1..26a5b11 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_WAVPACK_ENC_H__
 #define __GST_WAVPACK_ENC_H__
 
 #include <gst/gst.h>
+#include <gst/audio/gstaudioencoder.h>
 
 #include <wavpack/wavpack.h>
-#include "md5.h"
 
 G_BEGIN_DECLS
 #define GST_TYPE_WAVPACK_ENC \
@@ -51,10 +51,9 @@ typedef struct
 
 struct _GstWavpackEnc
 {
-  GstElement element;
+  GstAudioEncoder element;
 
   /*< private > */
-  GstPad *sinkpad, *srcpad;
   GstPad *wvcsrcpad;
 
   GstFlowReturn srcpad_last_return;
@@ -78,7 +77,7 @@ struct _GstWavpackEnc
   gdouble bps;
   guint correction_mode;
   gboolean md5;
-  MD5_CTX *md5_context;
+  GChecksum *md5_context;
   guint extra_processing;
   guint joint_stereo_mode;
 
@@ -87,11 +86,15 @@ struct _GstWavpackEnc
 
   GstBuffer *pending_buffer;
   gint32 pending_offset;
+  GstEvent *pending_segment;
+
+  GstClockTime timestamp_offset;
+  GstClockTime next_ts;
 };
 
 struct _GstWavpackEncClass
 {
-  GstElementClass parent;
+  GstAudioEncoderClass parent;
 };
 
 GType gst_wavpack_enc_get_type (void);