summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--gst/wavparse/gstwavparse.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 432207a3..b62aa5e3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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>
diff --git a/gst/wavparse/gstwavparse.c b/gst/wavparse/gstwavparse.c
index 86db360f..fb61932c 100644
--- a/gst/wavparse/gstwavparse.c
+++ b/gst/wavparse/gstwavparse.c
@@ -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);