flacdec: Reset decoder on set_format()
authorJochen Henneberg <jh@henneberg-systemdesign.com>
Sat, 27 Oct 2018 11:28:56 +0000 (13:28 +0200)
committerSebastian Dröge <slomo@coaxion.net>
Fri, 14 Dec 2018 09:22:33 +0000 (09:22 +0000)
Any call to set_format() could mean that the stream type changed so we
reset the decoder and mark got_headers FALSE.

ext/flac/gstflacdec.c

index 15f19e6..b34baf1 100644 (file)
@@ -263,6 +263,9 @@ gst_flac_dec_set_format (GstAudioDecoder * dec, GstCaps * caps)
     gst_adapter_clear (flacdec->adapter);
   }
 
+  FLAC__stream_decoder_reset (flacdec->decoder);
+  flacdec->got_headers = FALSE;
+
   num = gst_value_array_get_size (headers);
   for (i = 0; i < num; ++i) {
     const GValue *header_val;