GstBuffer *outbuf;
gchar *mp3_data = NULL;
gint mp3_buffer_size, mp3_size = 0;
- guint mp3_ts = 0;
gboolean eos = FALSE;
lame = GST_LAME (gst_pad_get_parent (pad));
"encoded %d bytes of audio to %d bytes of mp3",
GST_BUFFER_SIZE (buf), mp3_size);
- mp3_ts = GST_BUFFER_TIMESTAMP (buf);
+ lame->last_ts = GST_BUFFER_TIMESTAMP (buf);
gst_buffer_unref (buf);
}
outbuf = gst_buffer_new ();
GST_BUFFER_DATA (outbuf) = mp3_data;
GST_BUFFER_SIZE (outbuf) = mp3_size;
- GST_BUFFER_TIMESTAMP (outbuf) = mp3_ts;
+ GST_BUFFER_TIMESTAMP (outbuf) = lame->last_ts;
gst_pad_push (lame->srcpad,outbuf);
}
GST_DEBUG (0,"state pending %d", GST_STATE_PENDING (element));
switch (GST_STATE_TRANSITION (element)) {
+ case GST_STATE_READY_TO_PAUSED:
+ lame->last_ts = 0;
+ break;
case GST_STATE_READY_TO_NULL:
if (lame->initialized) {
lame_close (lame->lgf);