diff options
Diffstat (limited to 'libavdevice')
-rw-r--r-- | libavdevice/pulse_audio_dec.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libavdevice/pulse_audio_dec.c b/libavdevice/pulse_audio_dec.c index ed094fd250..2355b91776 100644 --- a/libavdevice/pulse_audio_dec.c +++ b/libavdevice/pulse_audio_dec.c @@ -162,7 +162,12 @@ static av_cold int pulse_read_header(AVFormatContext *s) return AVERROR(ENOMEM); } - attr.fragsize = pd->fragment_size; + if (pd->fragment_size == -1) { + // 50 ms fragments/latency by default seem good enough + attr.fragsize = pa_frame_size(&ss) * (pd->sample_rate / 20); + } else { + attr.fragsize = pd->fragment_size; + } if (s->url[0] != '\0' && strcmp(s->url, "default")) device = s->url; |