{
GstAudioFilterClass *klass;
GstAudioFilter *filter = GST_AUDIO_FILTER (btrans);
+ GstAudioInfo info;
gboolean ret = TRUE;
GST_LOG_OBJECT (filter, "caps: %" GST_PTR_FORMAT, incaps);
+ GST_LOG_OBJECT (filter, "info: %d", GST_AUDIO_FILTER_RATE (filter));
- if (!gst_audio_info_from_caps (&filter->info, incaps))
+ if (!gst_audio_info_from_caps (&info, incaps))
goto invalid_format;
- klass = GST_AUDIO_FILTER_CLASS_CAST (G_OBJECT_GET_CLASS (filter));
+ klass = GST_AUDIO_FILTER_GET_CLASS (filter);
if (klass->setup)
- ret = klass->setup (filter, &filter->info);
+ ret = klass->setup (filter, &info);
+
+ if (ret) {
+ filter->info = info;
+ GST_LOG_OBJECT (filter, "configured caps: %" GST_PTR_FORMAT, incaps);
+ }
return ret;
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIO_FILTER,GstAudioFilterClass))
#define GST_AUDIO_FILTER_CLASS_CAST(klass) \
((GstAudioFilterClass *) (klass))
+#define GST_AUDIO_FILTER_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS((obj),GST_TYPE_AUDIO_FILTER,GstAudioFilterClass))
#define GST_IS_AUDIO_FILTER(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_FILTER))
#define GST_IS_AUDIO_FILTER_CLASS(klass) \