summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorJochen Henneberg <jh@henneberg-systemdesign.com>2018-10-27 13:36:16 +0200
committerSebastian Dröge <slomo@coaxion.net>2018-12-14 09:22:33 +0000
commitd74f964407a4ec430a00e67373421af9d1447b14 (patch)
tree4c3d34395d45efc1cbaa4db15311784d40d427e8 /ext
parenta5d71c597df80f39c819afa7adc5840482fe89de (diff)
flacdec: Caps may have changed on FLAC metadata change
If the decoder signals metadata change we need to update the output format and negotiate with downstream elements.
Diffstat (limited to 'ext')
-rw-r--r--ext/flac/gstflacdec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/flac/gstflacdec.c b/ext/flac/gstflacdec.c
index b34baf119..b76b72485 100644
--- a/ext/flac/gstflacdec.c
+++ b/ext/flac/gstflacdec.c
@@ -489,6 +489,11 @@ gst_flac_dec_metadata_cb (const FLAC__StreamDecoder * decoder,
metadata->data.stream_info.sample_rate,
metadata->data.stream_info.channels, position);
+ gst_audio_decoder_set_output_format (GST_AUDIO_DECODER (flacdec),
+ &flacdec->info);
+
+ gst_audio_decoder_negotiate (GST_AUDIO_DECODER (flacdec));
+
GST_DEBUG_OBJECT (flacdec, "blocksize: min=%u, max=%u",
flacdec->min_blocksize, flacdec->max_blocksize);
GST_DEBUG_OBJECT (flacdec, "sample rate: %u, channels: %u",