[Bug 770446] pulsesrc, audiosrc: No audio captured with new GStreamer 1.8.2

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Sep 2 09:28:06 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=770446

--- Comment #7 from Przemek <przemyslaw.gajos at gmail.com> ---
Hello Arun,

Investigating further, I found that if I revert this single change 
pulsesrc.c my captures work again:
-  wanted.maxlength = -1;
+  wanted.maxlength = spec->segsize * spec->segtotal;

The change appeared in this changelog as you know:
https://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/ext/pulse/pulsesrc.c?id=8e236fa2e1a5873b664401342a026a943d482bfe

>From the logs I can see that the above change (wanted.maxlength = ...) affects
buffer size, am I right? Look at values for maxlength:
NOT-WORKING case (wanted.maxlength = spec->segsize * spec->segtotal):
0:00:00.129593794 11833      0x1ab3b20 ERROR                  pulse
pulsesrc.c:1533:gst_pulsesrc_prepare:<pulsesrc0> spec->segsize(1920) *
spec->segtotal(20) = (38400)
0:00:00.132835948 11833      0x1ab3b20 ERROR                  pulse
pulsesrc.c:1591:gst_pulsesrc_prepare:<pulsesrc0> maxlength: 38400
...
0:00:00.132925502 11833      0x1ab3b20 ERROR                  pulse
pulsesrc.c:1598:gst_pulsesrc_prepare:<pulsesrc0> fragsize:  35664 (wanted 1920)

WORKING case (wanted.maxlength = -1):
0:00:00.144276433  9290       0xee9320 ERROR                  pulse
pulsesrc.c:1533:gst_pulsesrc_prepare:<pulsesrc0> spec->segsize(1920) *
spec->segtotal(20) = (38400)
0:00:00.146496320  9290       0xee9320 ERROR                  pulse
pulsesrc.c:1591:gst_pulsesrc_prepare:<pulsesrc0> maxlength: 4194304
...
0:00:00.146629552  9290       0xee9320 ERROR                  pulse
pulsesrc.c:1598:gst_pulsesrc_prepare:<pulsesrc0> fragsize:  35664 (wanted 1920)

It looks like in the non-working case fragsize (35664 ) is almost the size of
the buffer (38400) while in the working case buffer size is not limited (-1)
and hence ends up much bigger. What do you think about that?

Also, my understanding of pulseaudio / GStreamer nomenclature is limited but I
know about ALSA. In ALSA buffer is split into periods and each period is a
chunk of data to read / write at once. What is the equivalent of ALSA's period
here: fragsize or segsize?

Thanks,
Przemek

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list