Hi, The reason I'm sending this mail here is that the gst-pulse-plugins are shipped in the ext/ dir in gst-plugins-good and I figured that it might belong here. I've run into a problem with using pulsesrc and findtype in gstreamer, and found this bug which describes the same issue: https://bugzilla.gnome.org/show_bug.cgi?id=634927. If I patch my version of pulsesrc with the following patch it works ok for me, but since I'm not that familiar with gstreamer I'm not sure if I might be breaking some other use case. So I was wondering what your thoughts on this is? And where should I be sending patch suggestions on the gst-pulse stuff? Cheers, Erik Bot? --- gst-plugins-good0.10-0.10.28/ext/pulse/pulsesrc.c ? 2011-03-08 14:54:34.000000000 +0100 +++ gst-plugins-good0.10-0.10.28_fix/ext/pulse/pulsesrc.c 2011-06-15 08:32:10.216748002 +0200 @@ -69,6 +69,7 @@ ?static void gst_pulsesrc_destroy_stream (GstPulseSrc * pulsesrc); ?static void gst_pulsesrc_destroy_context (GstPulseSrc * pulsesrc); +static gboolean gst_pulse_src_check_get_range (GstBaseSrc * bsrc); ?static void gst_pulsesrc_set_property (GObject * object, guint prop_id, ? ? const GValue * value, GParamSpec * pspec); ?static void gst_pulsesrc_get_property (GObject * object, guint prop_id, @@ -221,6 +222,12 @@ ? gstbasesrc_class->negotiate = GST_DEBUG_FUNCPTR (gst_pulsesrc_negotiate); + ?/* Override the check_get_range from GstBaseSrc in order to avoid + ? ? that the src gets activated in pull mode which causes a deadlock + ? ? when typefinding, see https://bugzilla.gnome.org/show_bug.cgi?id=634927 */ + ?gstbasesrc_class->check_get_range = + ? ? ?GST_DEBUG_FUNCPTR (gst_pulse_src_check_get_range); + ? gstaudiosrc_class->open = GST_DEBUG_FUNCPTR (gst_pulsesrc_open); ? gstaudiosrc_class->close = GST_DEBUG_FUNCPTR (gst_pulsesrc_close); ? gstaudiosrc_class->prepare = GST_DEBUG_FUNCPTR (gst_pulsesrc_prepare); @@ -1309,3 +1316,10 @@ ? return ret; ?} + +static gboolean +gst_pulse_src_check_get_range (GstBaseSrc * bsrc) +{ + ?return FALSE; +} +