GStreamer pulsesrc issue (with patch suggestion)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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;
+}
+


[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux