summaryrefslogtreecommitdiffstats
path: root/ext
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2004-07-03 04:21:39 +0000
committerDavid Schleef <ds@schleef.org>2004-07-03 04:21:39 +0000
commitd3ad8602932de504835e6d95769b8b04c2393649 (patch)
tree31b1d81c77cca1abb4045135dcb5695003fff1b5 /ext
parent0e2359f0c9d0591a9523847534ce8b910eb65e09 (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.c6
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);