[Bug 797329] New: Live Audio Playback from Microphone Goes Silent on Windows wasapi
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Tue Oct 23 22:22:21 UTC 2018
https://bugzilla.gnome.org/show_bug.cgi?id=797329
Bug ID: 797329
Summary: Live Audio Playback from Microphone Goes Silent on
Windows wasapi
Classification: Platform
Product: GStreamer
Version: 1.14.4
OS: Windows
Status: NEW
Severity: critical
Priority: Normal
Component: gst-plugins-bad
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: mmacintosh at linear-systems.com
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created attachment 374015
--> https://bugzilla.gnome.org/attachment.cgi?id=374015&action=edit
An excerpt of the ringbuffer:5 debug logs.
I am running into audio playback issues in the latest versions of gstreamer. I
am using 1.14.4 on windows 10 but have also experienced this issue on windows
7. It is most pronounced with wasapisrc and wasapisink, but I have experienced
this issue with directsoundsrc and directsoundsink and combinations thereof.
My current workaround (that I am still testing, but getting better results) is
using directsoundsrc and directsoundsink with double the default buffer times
and latency times.
With wasapisrc, playback via wasapisink will go silent after a certain amount
of time or go choppy. The audio will usually play for a few seconds, go silent
for about 15-20 seconds, then play again for another 3 seconds. It usually
repeats this process until it will eventually cut out completely.
A simple pipeline to reproduce this issue would be something like:
wasapisrc ! queue ! audioconvert ! audioresample ! wasapisink
(the audioconvert and audioresample are probably superfluous)
This is assuming you are using headphones and have a microphone plugged in, so
it can select them as default devices.
Running the pipeline with gst-debug="ringbuffer:5" gives log output that
appears to indicate that the read pointer is getting ahead of the write pointer
in the ringbuffer (the diff goes negative and the sink stops playing the
audio).
I do not get this issue with file or network sources of audio. It is more
common / severe with wasapisrc over directsoundsrc (it takes much longer for
directsoundsrc to play nothing).
I have tried increasing the latency-time and the buffer-time of wasapisink,
which does improve the audio quality quite a bit, however it still runs into
issues.
Attached is an excerpt of the ringbuffer:5 log. In this section the diff goes
to -20 out of 20 (segtotal). I presume that this negative diff causes audio to
not play since it sets skip to true, and doesn't copy anything into the
ringbuffer.
I was also noticing negative diffs with the audiosrc ringbuffer, and I can
provide logs of that as well.
This bug might be a duplicate / related to
https://bugzilla.gnome.org/show_bug.cgi?id=796354
However, they do not make any mention to silence.
Let me know if there is anything else I can provide / clarify.
--
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