Set the explicit caps on the pad when the file is parsed as explicit caps get wiped during state changes. fixes bug #...

Original commit message from CVS:
Set the explicit caps on the pad when the file is parsed as explicit caps get wiped during state changes. fixes bug #148043
This commit is contained in:
Iain Holmes 2004-07-25 15:05:06 +00:00
parent 070d0301a9
commit ec250d49d0
2 changed files with 8 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2004-07-25 Iain <iain@prettypeople.org>
* gst/wavparse/gstwavparse.c (gst_wavparse_fmt): Set the caps on the
pad now rather than when the pad is created because state changes wipe
explicit caps (fixes #148043).
2004-07-25 Sebastien Cote <sc5@hermes.usherb.ca>
reviewed by Benjamin Otte <otte@gnome.org>

View file

@ -542,13 +542,14 @@ gst_wavparse_fmt (GstWavParse * wav)
wav->depth = header->size;
wav->bps = header->av_bps;
gst_element_add_pad (GST_ELEMENT (wav), wav->srcpad);
caps = gst_riff_create_audio_caps (header->format, NULL, header, NULL);
if (caps) {
gst_pad_set_explicit_caps (wav->srcpad, caps);
gst_caps_free (caps);
}
gst_element_add_pad (GST_ELEMENT (wav), wav->srcpad);
GST_DEBUG ("frequency %d, channels %d", wav->rate, wav->channels);