From 7519af569b22f502f88b9c80e7ce26522e1e9aad Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Sat, 28 Jun 2003 14:24:04 +0000 Subject: fix flacdec when src not connected Original commit message from CVS: fix flacdec when src not connected --- ext/flac/gstflacdec.c | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/ext/flac/gstflacdec.c b/ext/flac/gstflacdec.c index 459d954c..9fc05dc8 100644 --- a/ext/flac/gstflacdec.c +++ b/ext/flac/gstflacdec.c @@ -428,29 +428,28 @@ gst_flacdec_write (const FLAC__SeekableStreamDecoder *decoder, GstEvent *discont; flacdec->need_discont = FALSE; - - if (!GST_PAD_CAPS (flacdec->srcpad)) { - if (flacdec->seek_pending) { - flacdec->total_samples = flacdec->seek_value; - } + if (flacdec->seek_pending) { + flacdec->total_samples = flacdec->seek_value; + } - if (GST_PAD_IS_USABLE (flacdec->srcpad)) { - GST_DEBUG (0, "send discont"); - - format = GST_FORMAT_TIME; - gst_pad_convert (flacdec->srcpad, GST_FORMAT_DEFAULT, - flacdec->total_samples, &format, &time); - format = GST_FORMAT_BYTES; - gst_pad_convert (flacdec->srcpad, GST_FORMAT_DEFAULT, - flacdec->total_samples, &format, &bytes); - discont = gst_event_new_discontinuous (FALSE, GST_FORMAT_TIME, time, - GST_FORMAT_BYTES, bytes, + if (GST_PAD_IS_USABLE (flacdec->srcpad)) { + GST_DEBUG (0, "send discont"); + + format = GST_FORMAT_TIME; + gst_pad_convert (flacdec->srcpad, GST_FORMAT_DEFAULT, + flacdec->total_samples, &format, &time); + format = GST_FORMAT_BYTES; + gst_pad_convert (flacdec->srcpad, GST_FORMAT_DEFAULT, + flacdec->total_samples, &format, &bytes); + discont = gst_event_new_discontinuous (FALSE, GST_FORMAT_TIME, time, + GST_FORMAT_BYTES, bytes, GST_FORMAT_DEFAULT, flacdec->total_samples, NULL); - gst_pad_push (flacdec->srcpad, GST_BUFFER (discont)); + gst_pad_push (flacdec->srcpad, GST_BUFFER (discont)); + } } } @@ -771,4 +770,3 @@ gst_flacdec_get_property (GObject *object, guint prop_id, g_warning ("Unknown property id\n"); } } - -- cgit