mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
pulsesrc: Don't negotiate to less than two segments
GstAudioRingBuffer doesn't needs us to have at least 2 segments. We make sure that if our buffer parameters are such that the maxlength is not at least 2x fragsize, we still request the ringbuffer to keep that much space so it continues to work. https://bugzilla.gnome.org/show_bug.cgi?id=770446
This commit is contained in:
parent
10a16a6321
commit
4833f02e47
1 changed files with 3 additions and 0 deletions
|
@ -1595,6 +1595,9 @@ gst_pulsesrc_prepare (GstAudioSrc * asrc, GstAudioRingBufferSpec * spec)
|
|||
|
||||
/* Fix up the total ringbuffer size based on what we actually got */
|
||||
spec->segtotal = actual->maxlength / spec->segsize;
|
||||
/* Don't buffer less than 2 segments as the ringbuffer can't deal with it */
|
||||
if (spec->segtotal < 2)
|
||||
spec->segtotal = 2;
|
||||
|
||||
if (!pulsesrc->paused) {
|
||||
GST_DEBUG_OBJECT (pulsesrc, "uncorking because we are playing");
|
||||
|
|
Loading…
Reference in a new issue