diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/flac/gstflacdec.c | 6 |
2 files changed, 9 insertions, 2 deletions
@@ -1,5 +1,10 @@ 2004-07-02 David Schleef <ds@schleef.org> + * ext/flac/gstflacdec.c: (gst_flacdec_write): Set duration on + output buffers. Fix logic mistake. (bug #144866) + +2004-07-02 David Schleef <ds@schleef.org> + * gst-libs/gst/xoverlay/Makefile.am: xoverlay no longer depends on X. (bug #144753) diff --git a/ext/flac/gstflacdec.c b/ext/flac/gstflacdec.c index e8881f1c..1a7852e9 100644 --- a/ext/flac/gstflacdec.c +++ b/ext/flac/gstflacdec.c @@ -170,7 +170,7 @@ gst_flacdec_class_init (FlacDecClass * klass) parent_class = g_type_class_ref (GST_TYPE_ELEMENT); gobject_class->dispose = gst_flacdec_dispose; - + gstelement_class->change_state = gst_flacdec_change_state; } @@ -467,7 +467,7 @@ gst_flacdec_write (const FLAC__SeekableStreamDecoder * decoder, flacdec->need_discont = FALSE; - if (!GST_PAD_CAPS (flacdec->srcpad)) { + if (GST_PAD_CAPS (flacdec->srcpad)) { if (flacdec->seek_pending) { flacdec->total_samples = flacdec->seek_value; } @@ -511,6 +511,8 @@ gst_flacdec_write (const FLAC__SeekableStreamDecoder * decoder, GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf)); GST_BUFFER_TIMESTAMP (outbuf) = flacdec->total_samples * GST_SECOND / frame->header.sample_rate; + GST_BUFFER_DURATION (outbuf) = + samples * GST_SECOND / frame->header.sample_rate; if (depth == 8) { guint8 *outbuffer = (guint8 *) GST_BUFFER_DATA (outbuf); |