#include <gst/gst.h>
-#include <gst/base/gstadapter.h>
+#include <gst/audio/gstaudioencoder.h>
#include <speex/speex.h>
#include <speex/speex_header.h>
typedef struct _GstSpeexEncClass GstSpeexEncClass;
struct _GstSpeexEnc {
- GstElement element;
-
- /* pads */
- GstPad *sinkpad,
- *srcpad;
-
- gint packet_count;
- gint n_packets;
+ GstAudioEncoder element;
SpeexBits bits;
SpeexHeader header;
const SpeexMode *speex_mode;
#endif
void *state;
- GstSpeexMode mode;
- GstAdapter *adapter;
+ /* properties */
+ GstSpeexMode mode;
gfloat quality;
gint bitrate;
gboolean vbr;
gboolean dtx;
gint complexity;
gint nframes;
-
- gint lookahead;
+ gchar *last_message;
gint channels;
gint rate;
- gboolean setup;
gboolean header_sent;
-
- guint64 samples_in;
- guint64 bytes_out;
+ GSList *headers;
GstTagList *tags;
- gchar *last_message;
-
gint frame_size;
- guint64 frameno;
- guint64 frameno_out;
+ gint lookahead;
guint8 *comments;
gint comment_len;
-
- /* Timestamp and granulepos tracking */
- GstClockTime start_ts;
- GstClockTime next_ts;
- guint64 granulepos_offset;
};
struct _GstSpeexEncClass {
- GstElementClass parent_class;
-
- /* signals */
- void (*frame_encoded) (GstElement *element);
+ GstAudioEncoderClass parent_class;
};
GType gst_speex_enc_get_type (void);