diff options
author | David Schleef <ds@schleef.org> | 2004-07-03 04:21:39 +0000 |
---|---|---|
committer | David Schleef <ds@schleef.org> | 2004-07-03 04:21:39 +0000 |
commit | d3ad8602932de504835e6d95769b8b04c2393649 (patch) | |
tree | 31b1d81c77cca1abb4045135dcb5695003fff1b5 /ext | |
parent | 0e2359f0c9d0591a9523847534ce8b910eb65e09 (diff) |
ext/flac/gstflacdec.c: Set duration on output buffers. Fix logic mistake. (bug #144866)
Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flacdec_write): Set duration on
output buffers. Fix logic mistake. (bug #144866)
Diffstat (limited to 'ext')
-rw-r--r-- | ext/flac/gstflacdec.c | 6 |
1 files changed, 4 insertions, 2 deletions
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); |