=== modified file 'ext/flac/gstflacdec.c'
--- ext/flac/gstflacdec.c	
+++ ext/flac/gstflacdec.c	
@@ -482,8 +482,6 @@
     flacdec->need_newsegment = FALSE;
   }
 
-  g_assert (width % 8 == 0);    /* width must be a multiple of 8 */
-
   ret = gst_pad_alloc_buffer_and_set_caps (flacdec->srcpad,
       flacdec->segment.last_stop, samples * channels * (width / 8),
       GST_PAD_CAPS (flacdec->srcpad), &outbuf);
@@ -657,10 +655,6 @@
   gboolean res = TRUE;
   guint bytes_per_sample;
   guint scale = 1;
-
-  g_assert (flacdec->width > 0);
-  g_assert (flacdec->width % 8 == 0);
-  g_assert (flacdec->channels > 0);
 
   bytes_per_sample = flacdec->channels * (flacdec->width / 8);
 
@@ -1062,6 +1056,10 @@
       flacdec->segment.last_stop = 0;
       flacdec->need_newsegment = TRUE;
       flacdec->seeking = FALSE;
+      flacdec->channels = 0;
+      flacdec->depth = 0;
+      flacdec->width = 0;
+      flacdec->sample_rate = 0;
       if (flacdec->init == FALSE) {
         FLAC__seekable_stream_decoder_reset (flacdec->decoder);
       }

